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


Impressum unique_factorization.prf

  Sprache: Lisp
 

(unique_factorization
 (FTL_sym_TCC1 0
  (FTL_sym_TCC1-1 nil 3249308522 ("" (subtype-tcc) nil nil)
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (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)
    (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)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (/= const-decl "boolean" notequal nil)
    (divides const-decl "bool" divides nil)
    (prime? const-decl "bool" primes "ints/")
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization
     nil))
   nil))
 (FTL_sym_TCC2 0
  (FTL_sym_TCC2-1 nil 3249308522 ("" (subtype-tcc) nil nil)
   ((boolean nonempty-type-decl nil booleans nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (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)
    (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)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (/= const-decl "boolean" notequal nil)
    (divides const-decl "bool" divides nil)
    (prime? const-decl "bool" primes "ints/")
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization
     nil))
   nil))
 (FTL_sym 0
  (FTL_sym-6 nil 3410715891
   ("" (skosimp*)
    (("" (rewrite "product_fseq_split")
      (("" (rewrite "product_fseq_split" -3)
        (("" (lemma "gcd_primes")
          ((""
            (inst -1 "seq(fs11!1)(length(fs11!1) - 1)"
             "seq(fs21!1)(length(fs21!1) - 1)")
            (("1" (assert)
              (("1" (split -1)
                (("1" (lemma "gcd_factors")
                  (("1" (inst?)
                    (("1" (assert)
                      (("1" (skosimp*)
                        (("1" (replace -2)
                          (("1" (hide -2)
                            (("1"
                              (name "Pr2"
                                    "product(fs21!1 ^ (0, length(fs21!1) - 2))")
                              (("1"
                                (replace -1)
                                (("1"
                                  (case
                                   "(ip!1 * seq(fs11!1)(length(fs11!1) - 1) + jp!1 * seq(fs21!1)(length(fs21!1) - 1)) * Pr2 = Pr2")
                                  (("1"
                                    (hide -3)
                                    (("1"
                                      (case-replace
                                       "(ip!1 * seq(fs11!1)(length(fs11!1)-1) + jp!1 * seq(fs21!1)(length(fs21!1)-1))
                                                                     * Pr2
                                                      = ip!1 * seq(fs11!1)(length(fs11!1) - 1)  * Pr2
                                                      + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (case
                                           "divides(seq(fs11!1)(length(fs11!1) - 1),
                                                                                                       ip!1 * seq(fs11!1)(length(fs11!1) - 1) * Pr2
                                                                                                        + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2)")
                                          (("1"
                                            (inst -4 "Pr2")
                                            (("1"
                                              (split -4)
                                              (("1"
                                                (expand "divides")
                                                (("1"
                                                  (skosimp*)
                                                  (("1"
                                                    (name
                                                     "P1"
                                                     "seq(fs11!1)(length(fs11!1) - 1)")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (name
                                                         "Q2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)")
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (lemma
                                                             "olop")
                                                            (("1"
                                                              (inst?)
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (assert)
                                                                  (("1"
                                                                    (split
                                                                     -1)
                                                                    (("1"
                                                                      (skosimp*)
                                                                      (("1"
                                                                        (replace
                                                                         -8)
                                                                        (("1"
                                                                          (inst
                                                                           -
                                                                           "fs!1"
                                                                           "fs21!1^ (0, length(fs21!1) - 2)")
                                                                          (("1"
                                                                            (assert)
                                                                            (("1"
                                                                              (rewrite
                                                                               "ordered_list_of_primes_caret")
                                                                              (("1"
                                                                                (split
                                                                                 -6)
                                                                                (("1"
                                                                                  (case
                                                                                   "l(fs!1) = l(fs21!1 ^ (0, length(fs21!1) - 2))")
                                                                                  (("1"
                                                                                    (case
                                                                                     "seqn(fs!1)(i!1) = seqn(fs21!1 ^ (0, length(fs21!1) - 2))(i!1)")
                                                                                    (("1"
                                                                                      (replace
                                                                                       -6)
                                                                                      (("1"
                                                                                        (hide
                                                                                         -3
                                                                                         -4
                                                                                         -5
                                                                                         -8
                                                                                         -9
                                                                                         -10
                                                                                         -11
                                                                                         -12
                                                                                         -14
                                                                                         1)
                                                                                        (("1"
                                                                                          (expand
                                                                                           "ordered_list_of_primes?"
                                                                                           -6)
                                                                                          (("1"
                                                                                            (flatten)
                                                                                            (("1"
                                                                                              (expand
                                                                                               "non_decreasing?")
                                                                                              (("1"
                                                                                                (expand
                                                                                                 "^")
                                                                                                (("1"
                                                                                                  (inst
                                                                                                   -
                                                                                                   "i!1"
                                                                                                   "length(fs21!1)-1")
                                                                                                  (("1"
                                                                                                    (assert)
                                                                                                    (("1"
                                                                                                      (replace
                                                                                                       -1
                                                                                                       *
                                                                                                       lr)
                                                                                                      (("1"
                                                                                                        (hide
                                                                                                         -1)
                                                                                                        (("1"
                                                                                                          (replace
                                                                                                           -3
                                                                                                           *
                                                                                                           rl)
                                                                                                          (("1"
                                                                                                            (hide
                                                                                                             -3)
                                                                                                            (("1"
                                                                                                              (hide-all-but
                                                                                                               (-5
                                                                                                                -9))
                                                                                                              (("1"
                                                                                                                (assert)
                                                                                                                (("1"
                                                                                                                  (expand
                                                                                                                   "<")
                                                                                                                  (("1"
                                                                                                                    (flatten)
                                                                                                                    (("1"
                                                                                                                      (assert)
                                                                                                                      nil
                                                                                                                      nil))
                                                                                                                    nil))
                                                                                                                  nil))
                                                                                                                nil))
                                                                                                              nil))
                                                                                                            nil))
                                                                                                          nil))
                                                                                                        nil))
                                                                                                      nil))
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (expand
                                                                                                     "<")
                                                                                                    (("2"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil)
                                                                                     ("2"
                                                                                      (hide
                                                                                       -10
                                                                                       -11)
                                                                                      (("2"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (hide
                                                                                     -2
                                                                                     -3
                                                                                     -4
                                                                                     -5
                                                                                     -6
                                                                                     -7
                                                                                     -8
                                                                                     -9
                                                                                     -10
                                                                                     -12
                                                                                     -13
                                                                                     -14)
                                                                                    (("2"
                                                                                      (lemma
                                                                                       "len3")
                                                                                      (("2"
                                                                                        (inst?)
                                                                                        (("2"
                                                                                          (assert)
                                                                                          nil
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (hide
                                                                                   -2
                                                                                   -3
                                                                                   -4
                                                                                   -5
                                                                                   -6
                                                                                   -7
                                                                                   -8
                                                                                   -9
                                                                                   -10
                                                                                   -12
                                                                                   -13
                                                                                   -14)
                                                                                  (("2"
                                                                                    (lemma
                                                                                     "len3")
                                                                                    (("2"
                                                                                      (inst?)
                                                                                      (("2"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (hide
                                                                       -1
                                                                       -3
                                                                       -4
                                                                       -5
                                                                       -6
                                                                       -7
                                                                       -8
                                                                       -10
                                                                       -11
                                                                       -12
                                                                       -13
                                                                       -14
                                                                       2)
                                                                      (("2"
                                                                        (expand
                                                                         "ordered_list_of_primes?")
                                                                        (("2"
                                                                          (flatten)
                                                                          (("2"
                                                                            (expand
                                                                             "list_of_primes?")
                                                                            (("2"
                                                                              (inst?)
                                                                              (("2"
                                                                                (assert)
                                                                                nil
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -5)
                                                                (("2"
                                                                  (hide
                                                                   -3
                                                                   -5
                                                                   -7
                                                                   -8
                                                                   -9
                                                                   -10
                                                                   -11
                                                                   -12
                                                                   -13
                                                                   -14
                                                                   2)
                                                                  (("2"
                                                                    (lemma
                                                                     "pos_times_gt")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("3"
                                                                (assert)
                                                                (("3"
                                                                  (hide
                                                                   -1
                                                                   -2
                                                                   -3
                                                                   -4
                                                                   -6
                                                                   -7
                                                                   -2)
                                                                  (("3"
                                                                    (replace
                                                                     -1)
                                                                    (("3"
                                                                      (hide
                                                                       -1)
                                                                      (("3"
                                                                        (lemma
                                                                         "both_sides_times_pos_gt1")
                                                                        (("3"
                                                                          (inst
                                                                           -1
                                                                           "Pr2"
                                                                           "seq(fs21!1)(length(fs21!1) - 1)"
                                                                           "1")
                                                                          (("3"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide
                                                 -1
                                                 -2
                                                 -3
                                                 -4
                                                 -6
                                                 -7
                                                 -2)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (hide -1)
                                                    (("2"
                                                      (lemma
                                                       "both_sides_times_pos_gt1")
                                                      (("2"
                                                        (inst
                                                         -1
                                                         "Pr2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)"
                                                         "1")
                                                        (("2"
                                                          (assert)
                                                          (("2"
                                                            (hide
                                                             -1
                                                             -2
                                                             -3
                                                             -4
                                                             2
                                                             3)
                                                            (("2"
                                                              (reveal
                                                               -12)
                                                              (("2"
                                                                (expand
                                                                 "ordered_list_of_primes?")
                                                                (("2"
                                                                  (flatten)
                                                                  (("2"
                                                                    (expand
                                                                     "list_of_primes?")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (lemma
                                                                         "prime_gt_1")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (case-replace
                                             "jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2 = jp!1 * j!1")
                                            (("1"
                                              (replace -5)
                                              (("1"
                                                (hide -1 -2 -4)
                                                (("1"
                                                  (lemma
                                                   "divides_plus")
                                                  (("1"
                                                    (inst?)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (hide 2 3)
                                                        (("1"
                                                          (prop)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               +
                                                               "Pr2*ip!1")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (expand
                                                             "divides")
                                                            (("2"
                                                              (name-replace
                                                               "P1"
                                                               "product(fs11!1 ^ (0, length(fs11!1) - 2))")
                                                              (("2"
                                                                (inst
                                                                 +
                                                                 "jp!1*P1")
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide -1 -2 -3 -5 -6 -7 -8 -9 2)
                  (("2" (expand "ordered_list_of_primes?")
                    (("2" (flatten)
                      (("2" (expand "list_of_primes?")
                        (("2" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("3" (hide -1 -2 -3 -4 -6 -7 -8 -9 2)
                  (("3" (expand "ordered_list_of_primes?")
                    (("3" (flatten)
                      (("3" (expand "list_of_primes?")
                        (("3" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("4" (expand "<") (("4" (assertnil nil)) nil))
                nil))
              nil)
             ("2" (assertnil nil) ("3" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((product_fseq_split formula-decl nil product_fseq_posnat "reals/")
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (barray type-eq-decl nil fseqs "structures/")
    (fseq type-eq-decl nil fseqs "structures/")
    (int_minus_int_is_int application-judgement "int" integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (gcd_primes formula-decl nil unique_scaf nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (gcd_factors formula-decl nil gcd "ints/")
    (= const-decl "[T, T -> boolean]" equalities nil)
    (product const-decl "posnat" product_fseq_posnat "reals/")
    (^ const-decl "fseq" fseqs "structures/")
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (divides const-decl "bool" divides nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (P1 skolem-const-decl "posnat" unique_factorization nil)
    (Pr2 skolem-const-decl "posnat" unique_factorization nil)
    (ip!1 skolem-const-decl "int" unique_factorization nil)
    (Q2 skolem-const-decl "posnat" unique_factorization nil)
    (jp!1 skolem-const-decl "int" unique_factorization nil)
    (x!1 skolem-const-decl "int" unique_factorization nil)
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (below type-eq-decl nil naturalnumbers nil)
    (< const-decl "bool" reals nil)
    (ordered_list_of_primes_caret formula-decl nil unique_scaf nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (fs!1 skolem-const-decl "fseq[posnat]" unique_factorization nil)
    (i!1 skolem-const-decl "below(length(fs!1))" unique_factorization
     nil)
    (len3 formula-decl nil unique_scaf nil)
    (pos_times_gt formula-decl nil real_props nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (both_sides_times_pos_gt1 formula-decl nil real_props nil)
    (olop formula-decl nil unique_scaf nil)
    (prime_gt_1 formula-decl nil primes "ints/")
    (divides_plus formula-decl nil divides_lems "ints/")
    (/= const-decl "boolean" notequal nil)
    (nzint nonempty-type-eq-decl nil integers nil)
    (fs21!1 skolem-const-decl "fseq[posnat]" unique_factorization nil)
    (fs11!1 skolem-const-decl "fseq[posnat]" unique_factorization nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil))
   nil)
  (FTL_sym-5 nil 3410622718
   ("" (skosimp*)
    (("" (rewrite "product_fseq_split")
      (("" (rewrite "product_fseq_split" -3)
        (("" (lemma "gcd_primes")
          ((""
            (inst -1 "seq(fs11!1)(length(fs11!1) - 1)"
             "seq(fs21!1)(length(fs21!1) - 1)")
            (("1" (assert)
              (("1" (split -1)
                (("1" (lemma "gcd_factors")
                  (("1" (inst?)
                    (("1" (assert)
                      (("1" (skosimp*)
                        (("1" (replace -2)
                          (("1" (hide -2)
                            (("1"
                              (name "Pr2"
                                    "product(fs21!1 ^ (0, length(fs21!1) - 2))")
                              (("1"
                                (replace -1)
                                (("1"
                                  (case
                                   "(ip!1 * seq(fs11!1)(length(fs11!1) - 1) + jp!1 * seq(fs21!1)(length(fs21!1) - 1)) * Pr2 = Pr2")
                                  (("1"
                                    (hide -3)
                                    (("1"
                                      (case-replace
                                       "(ip!1 * seq(fs11!1)(length(fs11!1)-1) + jp!1 * seq(fs21!1)(length(fs21!1)-1))
                                                             * Pr2
                                              = ip!1 * seq(fs11!1)(length(fs11!1) - 1)  * Pr2
                                              + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (case
                                           "divides(seq(fs11!1)(length(fs11!1) - 1),
                                                                                        ip!1 * seq(fs11!1)(length(fs11!1) - 1) * Pr2
                                                                                         + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2)")
                                          (("1"
                                            (inst -4 "Pr2")
                                            (("1"
                                              (split -4)
                                              (("1"
                                                (expand "divides")
                                                (("1"
                                                  (skosimp*)
                                                  (("1"
                                                    (name
                                                     "P1"
                                                     "seq(fs11!1)(length(fs11!1) - 1)")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (name
                                                         "Q2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)")
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (lemma
                                                             "olop")
                                                            (("1"
                                                              (inst?)
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (assert)
                                                                  (("1"
                                                                    (split
                                                                     -1)
                                                                    (("1"
                                                                      (skosimp*)
                                                                      (("1"
                                                                        (replace
                                                                         -8)
                                                                        (("1"
                                                                          (inst
                                                                           -
                                                                           "fs!1"
                                                                           "fs21!1^ (0, length(fs21!1) - 2)")
                                                                          (("1"
                                                                            (assert)
                                                                            (("1"
                                                                              (rewrite
                                                                               "ordered_list_of_primes_caret")
                                                                              (("1"
                                                                                (split
                                                                                 -6)
                                                                                (("1"
                                                                                  (case
                                                                                   "length(fs!1) = length(fs21!1 ^ (0, length(fs21!1) - 2))")
                                                                                  (("1"
                                                                                    (case
                                                                                     "seq(fs!1)(i!1) = seq(fs21!1 ^ (0, length(fs21!1) - 2))(i!1)")
                                                                                    (("1"
                                                                                      (replace
                                                                                       -6)
                                                                                      (("1"
                                                                                        (hide
                                                                                         -3
                                                                                         -4
                                                                                         -5
                                                                                         -8
                                                                                         -9
                                                                                         -10
                                                                                         -11
                                                                                         -12
                                                                                         -14
                                                                                         1)
                                                                                        (("1"
                                                                                          (expand
                                                                                           "ordered_list_of_primes?"
                                                                                           -6)
                                                                                          (("1"
                                                                                            (flatten)
                                                                                            (("1"
                                                                                              (expand
                                                                                               "non_decreasing?")
                                                                                              (("1"
                                                                                                (expand
                                                                                                 "^")
                                                                                                (("1"
                                                                                                  (inst
                                                                                                   -
                                                                                                   "i!1"
                                                                                                   "length(fs21!1)-1")
                                                                                                  (("1"
                                                                                                    (assert)
                                                                                                    nil
                                                                                                    nil)
                                                                                                   ("2"
                                                                                                    (typepred
                                                                                                     "i!1")
                                                                                                    (("2"
                                                                                                      (assert)
                                                                                                      nil
                                                                                                      nil))
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil)
                                                                                     ("2"
                                                                                      (hide
                                                                                       -10
                                                                                       -11)
                                                                                      (("2"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil))
                                                                                      nil)
                                                                                     ("3"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (hide
                                                                                     -2
                                                                                     -3
                                                                                     -4
                                                                                     -5
                                                                                     -6
                                                                                     -7
                                                                                     -8
                                                                                     -9
                                                                                     -10
                                                                                     -12
                                                                                     -13
                                                                                     -14)
                                                                                    (("2"
                                                                                      (lemma
                                                                                       "len3")
                                                                                      (("2"
                                                                                        (inst?)
                                                                                        (("2"
                                                                                          (assert)
                                                                                          nil
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (hide
                                                                                   -2
                                                                                   -3
                                                                                   -4
                                                                                   -5
                                                                                   -6
                                                                                   -7
                                                                                   -8
                                                                                   -9
                                                                                   -10
                                                                                   -12
                                                                                   -13
                                                                                   -14)
                                                                                  (("2"
                                                                                    (lemma
                                                                                     "len3")
                                                                                    (("2"
                                                                                      (inst?)
                                                                                      (("2"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (hide
                                                                       -1
                                                                       -3
                                                                       -4
                                                                       -5
                                                                       -6
                                                                       -7
                                                                       -8
                                                                       -10
                                                                       -11
                                                                       -12
                                                                       -13
                                                                       -14
                                                                       2)
                                                                      (("2"
                                                                        (expand
                                                                         "ordered_list_of_primes?")
                                                                        (("2"
                                                                          (flatten)
                                                                          (("2"
                                                                            (expand
                                                                             "list_of_primes?")
                                                                            (("2"
                                                                              (inst?)
                                                                              (("2"
                                                                                (assert)
                                                                                nil
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -5)
                                                                (("2"
                                                                  (hide
                                                                   -3
                                                                   -5
                                                                   -7
                                                                   -8
                                                                   -9
                                                                   -10
                                                                   -11
                                                                   -12
                                                                   -13
                                                                   -14
                                                                   2)
                                                                  (("2"
                                                                    (lemma
                                                                     "pos_times_gt")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("3"
                                                                (assert)
                                                                (("3"
                                                                  (hide
                                                                   -1
                                                                   -2
                                                                   -3
                                                                   -4
                                                                   -6
                                                                   -7
                                                                   -2)
                                                                  (("3"
                                                                    (replace
                                                                     -1)
                                                                    (("3"
                                                                      (hide
                                                                       -1)
                                                                      (("3"
                                                                        (lemma
                                                                         "both_sides_times_pos_gt1")
                                                                        (("3"
                                                                          (inst
                                                                           -1
                                                                           "Pr2"
                                                                           "seq(fs21!1)(length(fs21!1) - 1)"
                                                                           "1")
                                                                          (("3"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide
                                                 -1
                                                 -2
                                                 -3
                                                 -4
                                                 -6
                                                 -7
                                                 -2)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (hide -1)
                                                    (("2"
                                                      (lemma
                                                       "both_sides_times_pos_gt1")
                                                      (("2"
                                                        (inst
                                                         -1
                                                         "Pr2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)"
                                                         "1")
                                                        (("2"
                                                          (assert)
                                                          (("2"
                                                            (hide
                                                             -1
                                                             -2
                                                             -3
                                                             -4
                                                             2
                                                             3)
                                                            (("2"
                                                              (reveal
                                                               -12)
                                                              (("2"
                                                                (expand
                                                                 "ordered_list_of_primes?")
                                                                (("2"
                                                                  (flatten)
                                                                  (("2"
                                                                    (expand
                                                                     "list_of_primes?")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (lemma
                                                                         "prime_gt_1")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (case-replace
                                             "jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2 = jp!1 * j!1")
                                            (("1"
                                              (replace -5)
                                              (("1"
                                                (hide -1 -2 -4)
                                                (("1"
                                                  (lemma
                                                   "divides_plus")
                                                  (("1"
                                                    (inst?)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (hide 2 3)
                                                        (("1"
                                                          (prop)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               +
                                                               "Pr2*ip!1")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (expand
                                                             "divides")
                                                            (("2"
                                                              (name-replace
                                                               "P1"
                                                               "product(fs11!1 ^ (0, length(fs11!1) - 2))")
                                                              (("2"
                                                                (inst
                                                                 +
                                                                 "jp!1*P1")
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide -1 -2 -3 -5 -6 -7 -8 -9 2)
                  (("2" (expand "ordered_list_of_primes?")
                    (("2" (flatten)
                      (("2" (expand "list_of_primes?")
                        (("2" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("3" (hide -1 -2 -3 -4 -6 -7 -8 -9 2)
                  (("3" (expand "ordered_list_of_primes?")
                    (("3" (flatten)
                      (("3" (expand "list_of_primes?")
                        (("3" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (assertnil nil) ("3" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((barray type-eq-decl nil fseqs "structures/")
    (fseq type-eq-decl nil fseqs "structures/")
    (gcd_primes formula-decl nil unique_scaf nil)
    (gcd_factors formula-decl nil gcd "ints/")
    (^ const-decl "fseq" fseqs "structures/")
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (ordered_list_of_primes_caret formula-decl nil unique_scaf nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (len3 formula-decl nil unique_scaf nil)
    (olop formula-decl nil unique_scaf nil)
    (prime_gt_1 formula-decl nil primes "ints/")
    (divides_plus formula-decl nil divides_lems "ints/"))
   nil)
  (FTL_sym-4 nil 3410545718
   ("" (skosimp*)
    (("" (rewrite "product_split")
      (("" (rewrite "product_split" -3)
        (("" (lemma "gcd_primes")
          ((""
            (inst -1 "seq(fs11!1)(length(fs11!1) - 1)"
             "seq(fs21!1)(length(fs21!1) - 1)")
            (("1" (assert)
              (("1" (split -1)
                (("1" (lemma "gcd_factors")
                  (("1" (inst?)
                    (("1" (assert)
                      (("1" (skosimp*)
                        (("1" (replace -2)
                          (("1" (hide -2)
                            (("1"
                              (name "Pr2"
                                    "product(fs21!1 ^^ (0, length(fs21!1) - 2))")
                              (("1"
                                (replace -1)
                                (("1"
                                  (case
                                   "(ip!1 * seq(fs11!1)(length(fs11!1) - 1) + jp!1 * seq(fs21!1)(length(fs21!1) - 1)) * Pr2 = Pr2")
                                  (("1"
                                    (hide -3)
                                    (("1"
                                      (case-replace
                                       "(ip!1 * seq(fs11!1)(length(fs11!1)-1) + jp!1 * seq(fs21!1)(length(fs21!1)-1))
                                                     * Pr2
                                      = ip!1 * seq(fs11!1)(length(fs11!1) - 1)  * Pr2
                                      + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (case
                                           "divides(seq(fs11!1)(length(fs11!1) - 1),
                                                                         ip!1 * seq(fs11!1)(length(fs11!1) - 1) * Pr2
                                                                          + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2)")
                                          (("1"
                                            (inst -4 "Pr2")
                                            (("1"
                                              (split -4)
                                              (("1"
                                                (expand "divides")
                                                (("1"
                                                  (skosimp*)
                                                  (("1"
                                                    (name
                                                     "P1"
                                                     "seq(fs11!1)(length(fs11!1) - 1)")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (name
                                                         "Q2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)")
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (lemma
                                                             "olop")
                                                            (("1"
                                                              (inst?)
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (split
                                                                   -1)
                                                                  (("1"
                                                                    (skosimp*)
                                                                    (("1"
                                                                      (replace
                                                                       -8)
                                                                      (("1"
                                                                        (inst
                                                                         -
                                                                         "fs!1"
                                                                         "fs21!1^^ (0, length(fs21!1) - 2)")
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (rewrite
                                                                             "ordered_list_of_primes_caret")
                                                                            (("1"
                                                                              (split
                                                                               -6)
                                                                              (("1"
                                                                                (case
                                                                                 "length(fs!1) = length(fs21!1 ^^ (0, length(fs21!1) - 2))")
                                                                                (("1"
                                                                                  (case
                                                                                   "seq(fs!1)(i!1) = seq(fs21!1 ^^ (0, length(fs21!1) - 2))(i!1)")
                                                                                  (("1"
                                                                                    (replace
                                                                                     -6)
                                                                                    (("1"
                                                                                      (hide
                                                                                       -3
                                                                                       -4
                                                                                       -5
                                                                                       -8
                                                                                       -9
                                                                                       -10
                                                                                       -11
                                                                                       -12
                                                                                       -14
                                                                                       1)
                                                                                      (("1"
                                                                                        (expand
                                                                                         "ordered_list_of_primes?"
                                                                                         -6)
                                                                                        (("1"
                                                                                          (flatten)
                                                                                          (("1"
                                                                                            (expand
                                                                                             "non_decreasing?")
                                                                                            (("1"
                                                                                              (expand
                                                                                               "^^")
                                                                                              (("1"
                                                                                                (inst
                                                                                                 -
                                                                                                 "i!1"
                                                                                                 "length(fs21!1)-1")
                                                                                                (("1"
                                                                                                  (assert)
                                                                                                  nil
                                                                                                  nil)
                                                                                                 ("2"
                                                                                                  (typepred
                                                                                                   "i!1")
                                                                                                  (("2"
                                                                                                    (assert)
                                                                                                    nil
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (hide
                                                                                     -10
                                                                                     -11)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (hide
                                                                                 -2
                                                                                 -3
                                                                                 -4
                                                                                 -5
                                                                                 -6
                                                                                 -7
                                                                                 -8
                                                                                 -9
                                                                                 -10
                                                                                 -12
                                                                                 -13
                                                                                 -14)
                                                                                (("2"
                                                                                  (lemma
                                                                                   "len3")
                                                                                  (("2"
                                                                                    (inst?)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (propax)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (hide
                                                                     -1
                                                                     -3
                                                                     -4
                                                                     -5
                                                                     -6
                                                                     -7
                                                                     -8
                                                                     -10
                                                                     -11
                                                                     -12
                                                                     -13
                                                                     -14
                                                                     2)
                                                                    (("3"
                                                                      (expand
                                                                       "ordered_list_of_primes?")
                                                                      (("3"
                                                                        (flatten)
                                                                        (("3"
                                                                          (expand
                                                                           "list_of_primes?")
                                                                          (("3"
                                                                            (inst?)
                                                                            (("3"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -5)
                                                                (("2"
                                                                  (hide
                                                                   -3
                                                                   -5
                                                                   -7
                                                                   -8
                                                                   -9
                                                                   -10
                                                                   -11
                                                                   -12
                                                                   -13
                                                                   -14
                                                                   2)
                                                                  (("2"
                                                                    (lemma
                                                                     "pos_times_gt")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("3"
                                                                (assert)
                                                                (("3"
                                                                  (hide
                                                                   -1
                                                                   -2
                                                                   -3
                                                                   -4
                                                                   -6
                                                                   -7
                                                                   -2)
                                                                  (("3"
                                                                    (replace
                                                                     -1)
                                                                    (("3"
                                                                      (hide
                                                                       -1)
                                                                      (("3"
                                                                        (lemma
                                                                         "both_sides_times_pos_gt1")
                                                                        (("3"
                                                                          (inst
                                                                           -1
                                                                           "Pr2"
                                                                           "seq(fs21!1)(length(fs21!1) - 1)"
                                                                           "1")
                                                                          (("3"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide
                                                 -1
                                                 -2
                                                 -3
                                                 -4
                                                 -6
                                                 -7
                                                 -2)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (hide -1)
                                                    (("2"
                                                      (lemma
                                                       "both_sides_times_pos_gt1")
                                                      (("2"
                                                        (inst
                                                         -1
                                                         "Pr2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)"
                                                         "1")
                                                        (("2"
                                                          (assert)
                                                          (("2"
                                                            (hide
                                                             -1
                                                             -2
                                                             -3
                                                             -4
                                                             2
                                                             3)
                                                            (("2"
                                                              (reveal
                                                               -12)
                                                              (("2"
                                                                (expand
                                                                 "ordered_list_of_primes?")
                                                                (("2"
                                                                  (flatten)
                                                                  (("2"
                                                                    (expand
                                                                     "list_of_primes?")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (lemma
                                                                         "prime_gt_1")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (case-replace
                                             "jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2 = jp!1 * j!1")
                                            (("1"
                                              (replace -5)
                                              (("1"
                                                (hide -1 -2 -4)
                                                (("1"
                                                  (lemma
                                                   "divides_plus")
                                                  (("1"
                                                    (inst?)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (hide 2 3)
                                                        (("1"
                                                          (prop)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               +
                                                               "Pr2*ip!1")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (expand
                                                             "divides")
                                                            (("2"
                                                              (name-replace
                                                               "P1"
                                                               "product(fs11!1 ^^ (0, length(fs11!1) - 2))")
                                                              (("2"
                                                                (inst
                                                                 +
                                                                 "jp!1*P1")
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide -1 -2 -3 -5 -6 -7 -8 -9 2)
                  (("2" (expand "ordered_list_of_primes?")
                    (("2" (flatten)
                      (("2" (expand "list_of_primes?")
                        (("2" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("3" (hide -1 -2 -3 -4 -6 -7 -8 -9 2)
                  (("3" (expand "ordered_list_of_primes?")
                    (("3" (flatten)
                      (("3" (expand "list_of_primes?")
                        (("3" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (assertnil nil) ("3" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((divides_plus formula-decl nil divides_lems "ints/")
    (prime_gt_1 formula-decl nil primes "ints/")
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (gcd_factors formula-decl nil gcd "ints/"))
   nil)
  (FTL_sym-3 nil 3407848713
   ("" (skosimp*)
    (("" (rewrite "product_split")
      (("" (rewrite "product_split" -3)
        (("" (lemma "gcd_primes")
          ((""
            (inst -1 "seq(fs11!1)(length(fs11!1) - 1)"
             "seq(fs21!1)(length(fs21!1) - 1)")
            (("1" (assert)
              (("1" (split -1)
                (("1" (lemma "gcd_factors")
                  (("1" (inst?)
                    (("1" (assert)
                      (("1" (skosimp*)
                        (("1" (replace -2)
                          (("1" (hide -2)
                            (("1"
                              (name "Pr2"
                                    "product(fs21!1 ^ (0, length(fs21!1) - 2))")
                              (("1"
                                (replace -1)
                                (("1"
                                  (case
                                   "(ip!1 * seq(fs11!1)(length(fs11!1) - 1) + jp!1 * seq(fs21!1)(length(fs21!1) - 1)) * Pr2 = Pr2")
                                  (("1"
                                    (hide -3)
                                    (("1"
                                      (case-replace
                                       "(ip!1 * seq(fs11!1)(length(fs11!1)-1) + jp!1 * seq(fs21!1)(length(fs21!1)-1))
                                             * Pr2
                              = ip!1 * seq(fs11!1)(length(fs11!1) - 1)  * Pr2
                              + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (case
                                           "divides(seq(fs11!1)(length(fs11!1) - 1),
                                                          ip!1 * seq(fs11!1)(length(fs11!1) - 1) * Pr2
                                                           + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2)")
                                          (("1"
                                            (inst -4 "Pr2")
                                            (("1"
                                              (split -4)
                                              (("1"
                                                (expand "divides")
                                                (("1"
                                                  (skosimp*)
                                                  (("1"
                                                    (name
                                                     "P1"
                                                     "seq(fs11!1)(length(fs11!1) - 1)")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (name
                                                         "Q2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)")
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (lemma
                                                             "olop")
                                                            (("1"
                                                              (inst?)
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (split
                                                                   -1)
                                                                  (("1"
                                                                    (skosimp*)
                                                                    (("1"
                                                                      (replace
                                                                       -8)
                                                                      (("1"
                                                                        (inst
                                                                         -
                                                                         "fs!1"
                                                                         "fs21!1^ (0, length(fs21!1) - 2)")
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (rewrite
                                                                             "ordered_list_of_primes_caret")
                                                                            (("1"
                                                                              (split
                                                                               -6)
                                                                              (("1"
                                                                                (case
                                                                                 "length(fs!1) = length(fs21!1 ^ (0, length(fs21!1) - 2))")
                                                                                (("1"
                                                                                  (case
                                                                                   "seq(fs!1)(i!1) = seq(fs21!1 ^ (0, length(fs21!1) - 2))(i!1)")
                                                                                  (("1"
                                                                                    (replace
                                                                                     -6)
                                                                                    (("1"
                                                                                      (hide
                                                                                       -3
                                                                                       -4
                                                                                       -5
                                                                                       -8
                                                                                       -9
                                                                                       -10
                                                                                       -11
                                                                                       -12
                                                                                       -14
                                                                                       1)
                                                                                      (("1"
                                                                                        (expand
                                                                                         "ordered_list_of_primes?"
                                                                                         -6)
                                                                                        (("1"
                                                                                          (flatten)
                                                                                          (("1"
                                                                                            (expand
                                                                                             "non_decreasing?")
                                                                                            (("1"
                                                                                              (expand
                                                                                               "^")
                                                                                              (("1"
                                                                                                (inst
                                                                                                 -
                                                                                                 "i!1"
                                                                                                 "length(fs21!1)-1")
                                                                                                (("1"
                                                                                                  (assert)
                                                                                                  nil
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (hide
                                                                                     -10
                                                                                     -11)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil)
                                                                                   ("3"
                                                                                    (hide
                                                                                     -2
                                                                                     -10
                                                                                     -11)
                                                                                    (("3"
                                                                                      (expand
                                                                                       "^")
                                                                                      (("3"
                                                                                        (expand
                                                                                         "min")
                                                                                        (("3"
                                                                                          (assert)
                                                                                          nil
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (hide
                                                                                 -2
                                                                                 -3
                                                                                 -4
                                                                                 -5
                                                                                 -6
                                                                                 -7
                                                                                 -8
                                                                                 -9
                                                                                 -10
                                                                                 -12
                                                                                 -13
                                                                                 -14)
                                                                                (("2"
                                                                                  (lemma
                                                                                   "len3")
                                                                                  (("2"
                                                                                    (inst?)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (propax)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (hide
                                                                     -1
                                                                     -3
                                                                     -4
                                                                     -5
                                                                     -6
                                                                     -7
                                                                     -8
                                                                     -10
                                                                     -11
                                                                     -12
                                                                     -13
                                                                     -14
                                                                     2)
                                                                    (("3"
                                                                      (expand
                                                                       "ordered_list_of_primes?")
                                                                      (("3"
                                                                        (flatten)
                                                                        (("3"
                                                                          (expand
                                                                           "list_of_primes?")
                                                                          (("3"
                                                                            (inst?)
                                                                            (("3"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -5)
                                                                (("2"
                                                                  (hide
                                                                   -3
                                                                   -5
                                                                   -7
                                                                   -8
                                                                   -9
                                                                   -10
                                                                   -11
                                                                   -12
                                                                   -13
                                                                   -14
                                                                   2)
                                                                  (("2"
                                                                    (lemma
                                                                     "pos_times_gt")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("3"
                                                                (assert)
                                                                (("3"
                                                                  (hide
                                                                   -1
                                                                   -2
                                                                   -3
                                                                   -4
                                                                   -6
                                                                   -7
                                                                   -2)
                                                                  (("3"
                                                                    (replace
                                                                     -1)
                                                                    (("3"
                                                                      (hide
                                                                       -1)
                                                                      (("3"
                                                                        (lemma
                                                                         "both_sides_times_pos_gt1")
                                                                        (("3"
                                                                          (inst
                                                                           -1
                                                                           "Pr2"
                                                                           "seq(fs21!1)(length(fs21!1) - 1)"
                                                                           "1")
                                                                          (("3"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide
                                                 -1
                                                 -2
                                                 -3
                                                 -4
                                                 -6
                                                 -7
                                                 -2)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (hide -1)
                                                    (("2"
                                                      (lemma
                                                       "both_sides_times_pos_gt1")
                                                      (("2"
                                                        (inst
                                                         -1
                                                         "Pr2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)"
                                                         "1")
                                                        (("2"
                                                          (assert)
                                                          (("2"
                                                            (hide
                                                             -1
                                                             -2
                                                             -3
                                                             -4
                                                             2
                                                             3)
                                                            (("2"
                                                              (reveal
                                                               -12)
                                                              (("2"
                                                                (expand
                                                                 "ordered_list_of_primes?")
                                                                (("2"
                                                                  (flatten)
                                                                  (("2"
                                                                    (expand
                                                                     "list_of_primes?")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (lemma
                                                                         "prime_gt_1")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (case-replace
                                             "jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2 = jp!1 * j!1")
                                            (("1"
                                              (replace -5)
                                              (("1"
                                                (hide -1 -2 -4)
                                                (("1"
                                                  (lemma
                                                   "divides_plus")
                                                  (("1"
                                                    (inst?)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (hide 2 3)
                                                        (("1"
                                                          (prop)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               +
                                                               "Pr2*ip!1")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (expand
                                                             "divides")
                                                            (("2"
                                                              (name-replace
                                                               "P1"
                                                               "product(fs11!1 ^ (0, length(fs11!1) - 2))")
                                                              (("2"
                                                                (inst
                                                                 +
                                                                 "jp!1*P1")
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide -1 -2 -3 -5 -6 -7 -8 -9 2)
                  (("2" (expand "ordered_list_of_primes?")
                    (("2" (flatten)
                      (("2" (expand "list_of_primes?")
                        (("2" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("3" (hide -1 -2 -3 -4 -6 -7 -8 -9 2)
                  (("3" (expand "ordered_list_of_primes?")
                    (("3" (flatten)
                      (("3" (expand "list_of_primes?")
                        (("3" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (assertnil nil) ("3" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((prime_gt_1 formula-decl nil primes "ints/")
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (gcd_factors formula-decl nil gcd "ints/"))
   nil)
  (FTL_sym-2 nil 3306142955
   ("" (skosimp*)
    (("" (rewrite "product_split")
      (("" (rewrite "product_split" -3)
        (("" (lemma "gcd_primes")
          ((""
            (inst -1 "seq(fs11!1)(length(fs11!1) - 1)"
             "seq(fs21!1)(length(fs21!1) - 1)")
            (("1" (assert)
              (("1" (split -1)
                (("1" (lemma "gcd_factors")
                  (("1" (inst?)
                    (("1" (assert)
                      (("1" (skosimp*)
                        (("1" (replace -2)
                          (("1" (hide -2)
                            (("1"
                              (name "Pr2"
                                    "product(fs21!1 ^ (0, length(fs21!1) - 2))")
                              (("1"
                                (replace -1)
                                (("1"
                                  (case
                                   "(ip!1 * seq(fs11!1)(length(fs11!1) - 1) + jp!1 * seq(fs21!1)(length(fs21!1) - 1)) * Pr2 = Pr2")
                                  (("1"
                                    (hide -3)
                                    (("1"
                                      (case-replace
                                       "(ip!1 * seq(fs11!1)(length(fs11!1)-1) + jp!1 * seq(fs21!1)(length(fs21!1)-1))
                                     * Pr2
                      = ip!1 * seq(fs11!1)(length(fs11!1) - 1)  * Pr2
                      + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (case
                                           "divides(seq(fs11!1)(length(fs11!1) - 1),
                                           ip!1 * seq(fs11!1)(length(fs11!1) - 1) * Pr2
                                            + jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2)")
                                          (("1"
                                            (inst -4 "Pr2")
                                            (("1"
                                              (split -4)
                                              (("1"
                                                (expand "divides")
                                                (("1"
                                                  (skosimp*)
                                                  (("1"
                                                    (name
                                                     "P1"
                                                     "seq(fs11!1)(length(fs11!1) - 1)")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (name
                                                         "Q2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)")
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (lemma
                                                             "olop")
                                                            (("1"
                                                              (inst?)
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (split
                                                                   -1)
                                                                  (("1"
                                                                    (skosimp*)
                                                                    (("1"
                                                                      (replace
                                                                       -8)
                                                                      (("1"
                                                                        (inst
                                                                         -
                                                                         "fs!1"
                                                                         "fs21!1^ (0, length(fs21!1) - 2)")
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (rewrite
                                                                             "ordered_list_of_primes_caret")
                                                                            (("1"
                                                                              (split
                                                                               -6)
                                                                              (("1"
                                                                                (case
                                                                                 "length(fs!1) = length(fs21!1 ^ (0, length(fs21!1) - 2))")
                                                                                (("1"
                                                                                  (case
                                                                                   "seq(fs!1)(i!1) = seq(fs21!1 ^ (0, length(fs21!1) - 2))(i!1)")
                                                                                  (("1"
                                                                                    (replace
                                                                                     -6)
                                                                                    (("1"
                                                                                      (hide
                                                                                       -3
                                                                                       -4
                                                                                       -5
                                                                                       -8
                                                                                       -9
                                                                                       -10
                                                                                       -11
                                                                                       -12
                                                                                       -14
                                                                                       1)
                                                                                      (("1"
                                                                                        (expand
                                                                                         "ordered_list_of_primes?"
                                                                                         -6)
                                                                                        (("1"
                                                                                          (flatten)
                                                                                          (("1"
                                                                                            (expand
                                                                                             "non_decreasing?")
                                                                                            (("1"
                                                                                              (expand
                                                                                               "^")
                                                                                              (("1"
                                                                                                (inst
                                                                                                 -
                                                                                                 "i!1"
                                                                                                 "length(fs21!1)-1")
                                                                                                (("1"
                                                                                                  (assert)
                                                                                                  nil
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (hide
                                                                                     -10
                                                                                     -11)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil)
                                                                                   ("3"
                                                                                    (hide
                                                                                     -2
                                                                                     -10
                                                                                     -11)
                                                                                    (("3"
                                                                                      (expand
                                                                                       "^")
                                                                                      (("3"
                                                                                        (expand
                                                                                         "min")
                                                                                        (("3"
                                                                                          (assert)
                                                                                          nil
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (hide
                                                                                 -2
                                                                                 -3
                                                                                 -4
                                                                                 -5
                                                                                 -6
                                                                                 -7
                                                                                 -8
                                                                                 -9
                                                                                 -10
                                                                                 -12
                                                                                 -13
                                                                                 -14)
                                                                                (("2"
                                                                                  (lemma
                                                                                   "len3")
                                                                                  (("2"
                                                                                    (inst?)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (propax)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (hide
                                                                     -1
                                                                     -3
                                                                     -4
                                                                     -5
                                                                     -6
                                                                     -7
                                                                     -8
                                                                     -10
                                                                     -11
                                                                     -12
                                                                     -13
                                                                     -14
                                                                     2)
                                                                    (("3"
                                                                      (expand
                                                                       "ordered_list_of_primes?")
                                                                      (("3"
                                                                        (flatten)
                                                                        (("3"
                                                                          (expand
                                                                           "list_of_primes?")
                                                                          (("3"
                                                                            (inst?)
                                                                            (("3"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -5)
                                                                (("2"
                                                                  (hide
                                                                   -3
                                                                   -5
                                                                   -7
                                                                   -8
                                                                   -9
                                                                   -10
                                                                   -11
                                                                   -12
                                                                   -13
                                                                   -14
                                                                   2)
                                                                  (("2"
                                                                    (lemma
                                                                     "pos_times_gt")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("3"
                                                                (assert)
                                                                (("3"
                                                                  (hide
                                                                   -1
                                                                   -2
                                                                   -3
                                                                   -4
                                                                   -6
                                                                   -7
                                                                   -2)
                                                                  (("3"
                                                                    (replace
                                                                     -1)
                                                                    (("3"
                                                                      (hide
                                                                       -1)
                                                                      (("3"
                                                                        (lemma
                                                                         "both_sides_times_pos_gt1")
                                                                        (("3"
                                                                          (inst
                                                                           -1
                                                                           "Pr2"
                                                                           "seq(fs21!1)(length(fs21!1) - 1)"
                                                                           "1")
                                                                          (("3"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide
                                                 -1
                                                 -2
                                                 -3
                                                 -4
                                                 -6
                                                 -7
                                                 -2)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (hide -1)
                                                    (("2"
                                                      (lemma
                                                       "both_sides_times_pos_gt1")
                                                      (("2"
                                                        (inst
                                                         -1
                                                         "Pr2"
                                                         "seq(fs21!1)(length(fs21!1) - 1)"
                                                         "1")
                                                        (("2"
                                                          (assert)
                                                          (("2"
                                                            (hide
                                                             -1
                                                             -2
                                                             -3
                                                             -4
                                                             2
                                                             3)
                                                            (("2"
                                                              (reveal
                                                               -12)
                                                              (("2"
                                                                (expand
                                                                 "ordered_list_of_primes?")
                                                                (("2"
                                                                  (flatten)
                                                                  (("2"
                                                                    (expand
                                                                     "list_of_primes?")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (lemma
                                                                         "prime_gt_1")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (case-replace
                                             "jp!1 * seq(fs21!1)(length(fs21!1) - 1) * Pr2 = jp!1 * j!1")
                                            (("1"
                                              (replace -5)
                                              (("1"
                                                (hide -1 -2 -4)
                                                (("1"
                                                  (lemma
                                                   "divides_plus")
                                                  (("1"
                                                    (inst?)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (hide 2 3)
                                                        (("1"
                                                          (prop)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               +
                                                               "Pr2*ip!1")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (expand
                                                             "divides")
                                                            (("2"
                                                              (name-replace
                                                               "P1"
                                                               "product(fs11!1 ^ (0, length(fs11!1) - 2))")
                                                              (("2"
                                                                (inst
                                                                 +
                                                                 "jp!1*P1")
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide -1 -2 -3 -5 -6 -7 -8 -9 2)
                  (("2" (expand "ordered_list_of_primes?")
                    (("2" (flatten)
                      (("2" (expand "list_of_primes?")
                        (("2" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("3" (hide -1 -2 -3 -4 -6 -7 -8 -9 2)
                  (("3" (expand "ordered_list_of_primes?")
                    (("3" (flatten)
                      (("3" (expand "list_of_primes?")
                        (("3" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (assertnil nil) ("3" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((gcd_factors formula-decl nil gcd "ints/")
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization nil)
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (prime_gt_1 formula-decl nil primes "ints/"))
   nil)
  (FTL_sym-1 nil 3249308522
   ("" (skosimp*)
    (("" (rewrite "product_split")
      (("" (rewrite "product_split" -3)
        (("" (lemma "gcd_primes")
          ((""
            (inst -1 "seq(fs1!1)(length(fs1!1) - 1)"
             "seq(fs2!1)(length(fs2!1) - 1)")
            (("1" (assert)
              (("1" (split -1)
                (("1" (lemma "gcd_factors")
                  (("1" (inst?)
                    (("1" (assert)
                      (("1" (skosimp*)
                        (("1" (replace -2)
                          (("1" (hide -2)
                            (("1"
                              (name "Pr2"
                                    "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                              (("1"
                                (replace -1)
                                (("1"
                                  (case
                                   "(ip!1 * seq(fs1!1)(length(fs1!1) - 1) + jp!1 * seq(fs2!1)(length(fs2!1) - 1)) * Pr2 = Pr2")
                                  (("1"
                                    (hide -3)
                                    (("1"
                                      (case-replace
                                       "(ip!1 * seq(fs1!1)(length(fs1!1)-1) + jp!1 * seq(fs2!1)(length(fs2!1)-1))
                             * Pr2
              = ip!1 * seq(fs1!1)(length(fs1!1) - 1)  * Pr2
              + jp!1 * seq(fs2!1)(length(fs2!1) - 1) * Pr2")
                                      (("1"
                                        (hide -1)
                                        (("1"
                                          (case
                                           "divides(seq(fs1!1)(length(fs1!1) - 1),
                            ip!1 * seq(fs1!1)(length(fs1!1) - 1) * Pr2
                             + jp!1 * seq(fs2!1)(length(fs2!1) - 1) * Pr2)")
                                          (("1"
                                            (inst -4 "Pr2")
                                            (("1"
                                              (split -4)
                                              (("1"
                                                (expand "divides")
                                                (("1"
                                                  (skosimp*)
                                                  (("1"
                                                    (name
                                                     "P1"
                                                     "seq(fs1!1)(length(fs1!1) - 1)")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (name
                                                         "Q2"
                                                         "seq(fs2!1)(length(fs2!1) - 1)")
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (lemma
                                                             "olop")
                                                            (("1"
                                                              (inst?)
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (split
                                                                   -1)
                                                                  (("1"
                                                                    (skosimp*)
                                                                    (("1"
                                                                      (replace
                                                                       -8)
                                                                      (("1"
                                                                        (inst
                                                                         -
                                                                         "fs!1"
                                                                         "fs2!1^ (0, length(fs2!1) - 2)")
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (rewrite
                                                                             "ordered_list_of_primes_caret")
                                                                            (("1"
                                                                              (split
                                                                               -6)
                                                                              (("1"
                                                                                (case
                                                                                 "length(fs!1) = length(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                                                (("1"
                                                                                  (case
                                                                                   "seq(fs!1)(i!1) = seq(fs2!1 ^ (0, length(fs2!1) - 2))(i!1)")
                                                                                  (("1"
                                                                                    (replace
                                                                                     -6)
                                                                                    (("1"
                                                                                      (hide
                                                                                       -3
                                                                                       -4
                                                                                       -5
                                                                                       -8
                                                                                       -9
                                                                                       -10
                                                                                       -11
                                                                                       -12
                                                                                       -14
                                                                                       1)
                                                                                      (("1"
                                                                                        (expand
                                                                                         "ordered_list_of_primes?"
                                                                                         -6)
                                                                                        (("1"
                                                                                          (flatten)
                                                                                          (("1"
                                                                                            (expand
                                                                                             "non_decreasing?")
                                                                                            (("1"
                                                                                              (expand
                                                                                               "^")
                                                                                              (("1"
                                                                                                (inst
                                                                                                 -
                                                                                                 "i!1"
                                                                                                 "length(fs2!1)-1")
                                                                                                (("1"
                                                                                                  (assert)
                                                                                                  nil
                                                                                                  nil)
                                                                                                 ("2"
                                                                                                  (expand
                                                                                                   "min")
                                                                                                  (("2"
                                                                                                    (assert)
                                                                                                    nil
                                                                                                    nil))
                                                                                                  nil))
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (hide
                                                                                     -10
                                                                                     -11)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil)
                                                                                   ("3"
                                                                                    (hide
                                                                                     -2
                                                                                     -10
                                                                                     -11)
                                                                                    (("3"
                                                                                      (expand
                                                                                       "^")
                                                                                      (("3"
                                                                                        (expand
                                                                                         "min")
                                                                                        (("3"
                                                                                          (assert)
                                                                                          nil
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil)
                                                                                 ("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (hide
                                                                                 -2
                                                                                 -3
                                                                                 -4
                                                                                 -5
                                                                                 -6
                                                                                 -7
                                                                                 -8
                                                                                 -9
                                                                                 -10
                                                                                 -12
                                                                                 -13
                                                                                 -14)
                                                                                (("2"
                                                                                  (lemma
                                                                                   "len3")
                                                                                  (("2"
                                                                                    (inst?)
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (propax)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (hide
                                                                     -1
                                                                     -3
                                                                     -4
                                                                     -5
                                                                     -6
                                                                     -7
                                                                     -8
                                                                     -10
                                                                     -11
                                                                     -12
                                                                     -13
                                                                     -14
                                                                     2)
                                                                    (("3"
                                                                      (expand
                                                                       "ordered_list_of_primes?")
                                                                      (("3"
                                                                        (flatten)
                                                                        (("3"
                                                                          (expand
                                                                           "list_of_primes?")
                                                                          (("3"
                                                                            (inst?)
                                                                            (("3"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -5)
                                                                (("2"
                                                                  (hide
                                                                   -3
                                                                   -5
                                                                   -7
                                                                   -8
                                                                   -9
                                                                   -10
                                                                   -11
                                                                   -12
                                                                   -13
                                                                   -14
                                                                   2)
                                                                  (("2"
                                                                    (lemma
                                                                     "pos_times_gt")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("3"
                                                                (assert)
                                                                (("3"
                                                                  (hide
                                                                   -1
                                                                   -2
                                                                   -3
                                                                   -4
                                                                   -6
                                                                   -7
                                                                   -2)
                                                                  (("3"
                                                                    (replace
                                                                     -1)
                                                                    (("3"
                                                                      (hide
                                                                       -1)
                                                                      (("3"
                                                                        (lemma
                                                                         "both_sides_times_pos_gt1")
                                                                        (("3"
                                                                          (inst
                                                                           -1
                                                                           "Pr2"
                                                                           "seq(fs2!1)(length(fs2!1) - 1)"
                                                                           "1")
                                                                          (("3"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil)
                                               ("2"
                                                (hide
                                                 -1
                                                 -2
                                                 -3
                                                 -4
                                                 -6
                                                 -7
                                                 -2)
                                                (("2"
                                                  (replace -1)
                                                  (("2"
                                                    (hide -1)
                                                    (("2"
                                                      (lemma
                                                       "both_sides_times_pos_gt1")
                                                      (("2"
                                                        (inst
                                                         -1
                                                         "Pr2"
                                                         "seq(fs2!1)(length(fs2!1) - 1)"
                                                         "1")
                                                        (("2"
                                                          (assert)
                                                          (("2"
                                                            (hide
                                                             -1
                                                             -2
                                                             -3
                                                             -4
                                                             2
                                                             3)
                                                            (("2"
                                                              (reveal
                                                               -12)
                                                              (("2"
                                                                (expand
                                                                 "ordered_list_of_primes?")
                                                                (("2"
                                                                  (flatten)
                                                                  (("2"
                                                                    (expand
                                                                     "list_of_primes?")
                                                                    (("2"
                                                                      (inst?)
                                                                      (("2"
                                                                        (lemma
                                                                         "prime_gt_1")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (case-replace
                                             "jp!1 * seq(fs2!1)(length(fs2!1) - 1) * Pr2 = jp!1 * j!1")
                                            (("1"
                                              (replace -5)
                                              (("1"
                                                (hide -1 -2 -4)
                                                (("1"
                                                  (lemma
                                                   "divides_plus")
                                                  (("1"
                                                    (inst?)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (hide 2 3)
                                                        (("1"
                                                          (prop)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               +
                                                               "Pr2*ip!1")
                                                              (("1"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (expand
                                                             "divides")
                                                            (("2"
                                                              (name-replace
                                                               "P1"
                                                               "product(fs1!1 ^ (0, length(fs1!1) - 2))")
                                                              (("2"
                                                                (inst
                                                                 +
                                                                 "jp!1*P1")
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil)
                                             ("2" (assertnil nil))
                                            nil))
                                          nil))
                                        nil)
                                       ("2" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (assert)
                                    (("2"
                                      (hide -3 -4 -5 -6 -7 -8 -11 2)
                                      (("2"
                                        (lemma "both_sides_times1")
                                        (("2"
                                          (inst
                                           -1
                                           "Pr2"
                                           "1"
                                           "ip!1 * seq(fs1!1)(length(fs1!1) - 1) + jp!1 * seq(fs2!1)(length(fs2!1) - 1)")
                                          (("2" (assertnil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (hide -1 -2 -3 -5 -6 -7 -8 -9 2)
                  (("2" (expand "ordered_list_of_primes?")
                    (("2" (flatten)
                      (("2" (expand "list_of_primes?")
                        (("2" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil)
                 ("3" (hide -1 -2 -3 -4 -6 -7 -8 -9 2)
                  (("3" (expand "ordered_list_of_primes?")
                    (("3" (flatten)
                      (("3" (expand "list_of_primes?")
                        (("3" (inst?) nil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil)
             ("2" (assertnil nil) ("3" (assertnil nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((gcd_factors formula-decl nil gcd "ints/")
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (prime_gt_1 formula-decl nil primes "ints/"))
   nil))
 (FTL_prep 0
  (FTL_prep-5 nil 3410715948
   ("" (induct "n" 1 "NAT_induction")
    (("" (skosimp*)
      (("" (lemma "len0")
        (("" (inst-cp -1 "fs2!1")
          (("" (inst -1 "fs1!1")
            (("" (assert)
              (("" (case "length(fs1!1) = 1")
                (("1" (hide -2)
                  (("1" (case "length(fs2!1) = 1")
                    (("1" (expand "product")
                      (("1" (expand "product")
                        (("1" (assert)
                          (("1" (apply-extensionality 3 :hide? t)
                            (("1" (apply-extensionality 1 :hide? t)
                              (("1"
                                (case "x!1 < 1")
                                (("1" (assertnil nil)
                                 ("2"
                                  (typepred "fs1!1`seq")
                                  (("2"
                                    (inst?)
                                    (("2"
                                      (assert)
                                      (("2"
                                        (typepred "fs2!1`seq")
                                        (("2"
                                          (inst?)
                                          (("2" (assertnil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (lemma "product_fseq_split")
                      (("2" (inst -1 "fs2!1")
                        (("2" (assert)
                          (("2" (replace -1)
                            (("2" (hide -1)
                              (("2"
                                (expand "product" -2)
                                (("2"
                                  (replace -2)
                                  (("2"
                                    (hide -2)
                                    (("2"
                                      (expand
                                       "ordered_list_of_primes?"
                                       -3)
                                      (("2"
                                        (flatten)
                                        (("2"
                                          (expand "list_of_primes?")
                                          (("2"
                                            (inst -3 "0")
                                            (("2"
                                              (expand "prime?")
                                              (("2"
                                                (flatten)
                                                (("2"
                                                  (case
                                                   "product(fs2!1 ^ (0, length(fs2!1) - 2)) = 1")
                                                  (("1"
                                                    (replace -1)
                                                    (("1"
                                                      (lemma "len1")
                                                      (("1"
                                                        (inst
                                                         -1
                                                         "fs2!1 ^ (0, length(fs2!1) - 2)")
                                                        (("1"
                                                          (rewrite
                                                           "ordered_list_of_primes_caret")
                                                          (("1"
                                                            (assert)
                                                            (("1"
                                                              (hide -2)
                                                              (("1"
                                                                (expand
                                                                 "^")
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil)
                                                   ("2"
                                                    (inst
                                                     -3
                                                     "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                    (("2"
                                                      (assert)
                                                      (("2"
                                                        (split -3)
                                                        (("1"
                                                          (expand
                                                           "divides")
                                                          (("1"
                                                            (inst
                                                             1
                                                             "seq(fs2!1)(length(fs2!1) - 1)")
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (expand
                                                                 "product"
                                                                 -2
                                                                 1)
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (replace -1)
                                                          (("2"
                                                            (flatten)
                                                            (("2"
                                                              (assert)
                                                              (("2"
                                                                (replace
                                                                 -1)
                                                                (("2"
                                                                  (lemma
                                                                   "both_sides_times1")
                                                                  (("2"
                                                                    (inst
                                                                     -
                                                                     "seq(fs1!1)(0)"
                                                                     "1"
                                                                     "seq(fs2!1)(length(fs2!1) - 1)")
                                                                    (("2"
                                                                      (assert)
                                                                      (("2"
                                                                        (expand
                                                                         "ordered_list_of_primes?")
                                                                        (("2"
                                                                          (flatten)
                                                                          (("2"
                                                                            (expand
                                                                             "list_of_primes?")
                                                                            (("2"
                                                                              (inst?)
                                                                              (("2"
                                                                                (assert)
                                                                                (("2"
                                                                                  (lemma
                                                                                   "prime_gt_1")
                                                                                  (("2"
                                                                                    (inst
                                                                                     -
                                                                                     "seq(fs2!1)(length(fs2!1) - 1)")
                                                                                    (("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (lemma "product_len_eq")
                  (("2" (inst -1 "fs2!1" "fs1!1")
                    (("2" (assert)
                      (("2" (rewrite "product_fseq_split")
                        (("2" (rewrite "product_fseq_split" -3)
                          (("2"
                            (case-replace
                             "seq(fs1!1)(length(fs1!1) - 1) = seq(fs2!1)(length(fs2!1) - 1)")
                            (("1" (hide -1)
                              (("1"
                                (name
                                 "FP"
                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (name
                                     "P1"
                                     "product(fs1!1 ^ (0, length(fs1!1) - 2))")
                                    (("1"
                                      (replace -1)
                                      (("1"
                                        (inst -3 "P1")
                                        (("1"
                                          (split -3)
                                          (("1"
                                            (inst
                                             -1
                                             "fs1!1^(0, length(fs1!1) - 2)"
                                             "fs2!1^ (0, length(fs2!1) - 2)")
                                            (("1"
                                              (assert)
                                              (("1"
                                                (rewrite
                                                 "ordered_list_of_primes_caret")
                                                (("1"
                                                  (rewrite
                                                   "ordered_list_of_primes_caret")
                                                  (("1"
                                                    (split -1)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (reveal -3)
                                                        (("1"
                                                          (hide
                                                           -3
                                                           -4
                                                           -5
                                                           -6
                                                           -7
                                                           -8
                                                           -9
                                                           1
                                                           2
                                                           3
                                                           4)
                                                          (("1"
                                                            (case
                                                             "length(fs1!1) = length(fs2!1)")
                                                            (("1"
                                                              (apply-extensionality
                                                               1
                                                               :hide?
                                                               t)
                                                              (("1"
                                                                (apply-extensionality
                                                                 1
                                                                 :hide?
                                                                 t)
                                                                (("1"
                                                                  (case
                                                                   "x!1 < length(fs1!1) - 1")
                                                                  (("1"
                                                                    (case
                                                                     "seqn(fs1!1 ^ (0, l(fs1!1) - 2))(x!1) = seqn(fs2!1 ^ (0, l(fs2!1) - 2))(x!1)")
                                                                    (("1"
                                                                      (expand
                                                                       "^")
                                                                      (("1"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (assert)
                                                                    (("2"
                                                                      (typepred
                                                                       "fs1!1`seq")
                                                                      (("2"
                                                                        (inst?)
                                                                        (("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (typepred
                                                                             "fs2!1`seq")
                                                                            (("2"
                                                                              (inst?)
                                                                              (("2"
                                                                                (assert)
                                                                                nil
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (expand
                                                               "^")
                                                              (("2"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (name-replace
                                                       "P2"
                                                       "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                      (("2"
                                                        (hide
                                                         -1
                                                         -2
                                                         -5
                                                         -6
                                                         2
                                                         3
                                                         4
                                                         5
                                                         6)
                                                        (("2"
                                                          (lemma
                                                           "both_sides_times1")
                                                          (("2"
                                                            (inst
                                                             -1
                                                             "FP"
                                                             "P1"
                                                             "P2")
                                                            (("2"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("3"
                                                      (lemma "len1")
                                                      (("3"
                                                        (inst
                                                         -1
                                                         "fs1!1 ^ (0, length(fs1!1) - 2)")
                                                        (("3"
                                                          (assert)
                                                          (("3"
                                                            (split -1)
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (hide
                                                                 -2
                                                                 -3
                                                                 -4
                                                                 -5
                                                                 -6
                                                                 -7)
                                                                (("1"
                                                                  (expand
                                                                   "^")
                                                                  (("1"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (rewrite
                                                               "ordered_list_of_primes_caret")
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (hide -4 -5 -6 6)
                                            (("2"
                                              (lemma
                                               "both_sides_times_pos_lt1")
                                              (("2"
                                                (replace -4)
                                                (("2"
                                                  (inst
                                                   -1
                                                   "P1"
                                                   "1"
                                                   "FP")
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (reveal -4)
                                                      (("2"
                                                        (expand
                                                         "ordered_list_of_primes?")
                                                        (("2"
                                                          (flatten)
                                                          (("2"
                                                            (expand
                                                             "non_decreasing?")
                                                            (("2"
                                                              (expand
                                                               "list_of_primes?")
                                                              (("2"
                                                                (inst?)
                                                                (("2"
                                                                  (lemma
                                                                   "prime_gt_1")
                                                                  (("2"
                                                                    (inst
                                                                     -1
                                                                     "seq(fs2!1)(length(fs2!1) - 1)")
                                                                    (("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2"
                              (case "seq(fs1!1)(length(fs1!1) - 1) > seq(fs2!1)(length(fs2!1) - 1)")
                              (("1"
                                (lemma "FTL_sym")
                                (("1"
                                  (inst -1 "fs1!1" "fs2!1" "j!1")
                                  (("1" (assertnil nil))
                                  nil))
                                nil)
                               ("2"
                                (lemma "FTL_sym")
                                (("2"
                                  (inst -1 "fs2!1" "fs1!1" "j!1")
                                  (("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (product_len_eq formula-decl nil unique_scaf nil)
    (FTL_sym formula-decl nil unique_factorization nil)
    (both_sides_times_pos_lt1 formula-decl nil real_props nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (product_fseq_split formula-decl nil product_fseq_posnat "reals/")
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (prime? const-decl "bool" primes "ints/")
    (^ const-decl "fseq" fseqs "structures/")
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (len1 formula-decl nil unique_scaf nil)
    (ordered_list_of_primes_caret formula-decl nil unique_scaf nil)
    (prod_nat application-judgement "nat" product_nat "reals/")
    (prod_pr application-judgement "posreal" product_nat "reals/")
    (prod_posnat application-judgement "posnat" product_nat "reals/")
    (odd_minus_odd_is_even application-judgement "even_int" integers
     nil)
    (product_eq_arg formula-decl nil product "reals/")
    (both_sides_times1 formula-decl nil real_props nil)
    (prime_gt_1 formula-decl nil primes "ints/")
    (/= const-decl "boolean" notequal nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (divides const-decl "bool" divides nil)
    (below type-eq-decl nil naturalnumbers nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (prod_nnr application-judgement "nnreal" product_nat "reals/")
    (int_minus_int_is_int application-judgement "int" integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (product_0_neg formula-decl nil product_nat "reals/")
    (NOT const-decl "[bool -> bool]" booleans nil)
    (default const-decl "T" fseqs "structures/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (< const-decl "bool" reals nil)
    (product def-decl "real" product "reals/")
    (len0 formula-decl nil product_fseq_posnat "reals/")
    (NAT_induction formula-decl nil naturalnumbers nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization nil)
    (product const-decl "posnat" product_fseq_posnat "reals/")
    (= const-decl "[T, T -> boolean]" equalities nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (fseq type-eq-decl nil fseqs "structures/")
    (barray type-eq-decl nil fseqs "structures/")
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (pred type-eq-decl nil defined_types nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (>= const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (real nonempty-type-from-decl nil reals nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number nonempty-type-decl nil numbers nil))
   nil)
  (FTL_prep-4 nil 3410714316
   (";;; Proof FTL_prep-3 for formula unique_factorization.FTL_prep"
    (induct "n" 1 "NAT_induction")
    ((";;; Proof FTL_prep-3 for formula unique_factorization.FTL_prep"
      (skosimp*)
      ((";;; Proof FTL_prep-3 for formula unique_factorization.FTL_prep"
        (lemma "len0")
        ((";;; Proof FTL_prep-3 for formula unique_factorization.FTL_prep"
          (inst-cp -1 "fs2!1")
          ((";;; Proof FTL_prep-3 for formula unique_factorization.FTL_prep"
            (inst -1 "fs1!1")
            ((";;; Proof FTL_prep-3 for formula unique_factorization.FTL_prep"
              (assert)
              ((";;; Proof FTL_prep-3 for formula unique_factorization.FTL_prep"
                (case "length(fs1!1) = 1")
                (("1" (hide -2)
                  (("1" (case "length(fs2!1) = 1")
                    (("1" (expand "product")
                      (("1" (expand "product")
                        (("1" (assert)
                          (("1" (apply-extensionality 3 :hide? t)
                            (("1" (apply-extensionality 1 :hide? t)
                              (("1"
                                (case "x!1 < 1")
                                (("1" (assertnil)
                                 ("2"
                                  (typepred "fs1!1`seq")
                                  (("2"
                                    (inst?)
                                    (("2"
                                      (assert)
                                      (("2"
                                        (typepred "fs2!1`seq")
                                        (("2"
                                          (inst?)
                                          (("2"
                                            (assert)
                                            nil)))))))))))))))))))))))
                     ("2" (lemma "product_fseq_split")
                      (("2" (inst -1 "fs2!1")
                        (("2" (assert)
                          (("2" (replace -1)
                            (("2" (hide -1)
                              (("2"
                                (expand "product" -2)
                                (("2"
                                  (replace -2)
                                  (("2"
                                    (hide -2)
                                    (("2"
                                      (expand
                                       "ordered_list_of_primes?"
                                       -3)
                                      (("2"
                                        (flatten)
                                        (("2"
                                          (expand "list_of_primes?")
                                          (("2"
                                            (inst -3 "0")
                                            (("2"
                                              (expand "prime?")
                                              (("2"
                                                (flatten)
                                                (("2"
                                                  (case
                                                   "product(fs2!1 ^ (0, length(fs2!1) - 2)) = 1")
                                                  (("1"
                                                    (replace -1)
                                                    (("1"
                                                      (lemma "len1")
                                                      (("1"
                                                        (inst
                                                         -1
                                                         "fs2!1 ^ (0, length(fs2!1) - 2)")
                                                        (("1"
                                                          (rewrite
                                                           "ordered_list_of_primes_caret")
                                                          (("1"
                                                            (assert)
                                                            (("1"
                                                              (hide -2)
                                                              (("1"
                                                                (expand
                                                                 "^")
                                                                (("1"
                                                                  (assert)
                                                                  nil)))))))))))))))
                                                   ("2"
                                                    (inst
                                                     -3
                                                     "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                    (("2"
                                                      (assert)
                                                      (("2"
                                                        (split -3)
                                                        (("1"
                                                          (expand
                                                           "divides")
                                                          (("1"
                                                            (inst
                                                             1
                                                             "seq(fs2!1)(length(fs2!1) - 1)")
                                                            (("1"
                                                              (case-replace
                                                               "product(fs2!1 ^ (0, length(fs2!1) - 2)) = seq(fs1!1)(0)")
                                                              (("1"
                                                                (cancel-by
                                                                 1
                                                                 "seq(fs1!1)(0)")
                                                                (("1"
                                                                  (replace
                                                                   -2)
                                                                  (("1"
                                                                    (assert)
                                                                    (("1"
                                                                      (lemma
                                                                       "both_sides_times1")
                                                                      (("1"
                                                                        (inst
                                                                         -1
                                                                         "seq(fs1!1)(0)"
                                                                         "seq(fs2!1)(length(fs2!1) - 1)"
                                                                         "1")
                                                                        (("1"
                                                                          (assert)
                                                                          nil)))))))))))
                                                               ("2"
                                                                (replace
                                                                 -1)
                                                                (("2"
                                                                  (assert)
                                                                  nil)))))))))
                                                         ("2"
                                                          (flatten)
                                                          (("2"
                                                            (replace
                                                             -1)
                                                            (("2"
                                                              (replace
                                                               -2)
                                                              (("2"
                                                                (assert)
                                                                (("2"
                                                                  (cancel-by
                                                                   -3
                                                                   "seq(fs1!1)(0)")
                                                                  (("2"
                                                                    (expand
                                                                     "ordered_list_of_primes?")
                                                                    (("2"
                                                                      (flatten)
                                                                      (("2"
                                                                        (expand
                                                                         "list_of_primes?")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            (("2"
                                                                              (lemma
                                                                               "prime_gt_1")
                                                                              (("2"
                                                                                (inst
                                                                                 -
                                                                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                                                                (("2"
                                                                                  (assert)
                                                                                  nil)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
                 ("2" (lemma "product_len_eq")
                  (("2" (inst -1 "fs2!1" "fs1!1")
                    (("2" (assert)
                      (("2" (rewrite "product_fseq_split")
                        (("2" (rewrite "product_fseq_split" -3)
                          (("2"
                            (case-replace
                             "seq(fs1!1)(length(fs1!1) - 1) = seq(fs2!1)(length(fs2!1) - 1)")
                            (("1" (hide -1)
                              (("1"
                                (name
                                 "FP"
                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (name
                                     "P1"
                                     "product(fs1!1 ^ (0, length(fs1!1) - 2))")
                                    (("1"
                                      (replace -1)
                                      (("1"
                                        (inst -3 "P1")
                                        (("1"
                                          (split -3)
                                          (("1"
                                            (inst
                                             -1
                                             "fs1!1^(0, length(fs1!1) - 2)"
                                             "fs2!1^ (0, length(fs2!1) - 2)")
                                            (("1"
                                              (assert)
                                              (("1"
                                                (rewrite
                                                 "ordered_list_of_primes_caret")
                                                (("1"
                                                  (rewrite
                                                   "ordered_list_of_primes_caret")
                                                  (("1"
                                                    (split -1)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (reveal -3)
                                                        (("1"
                                                          (hide
                                                           -3
                                                           -4
                                                           -5
                                                           -6
                                                           -7
                                                           -8
                                                           -9
                                                           1
                                                           2
                                                           3
                                                           4)
                                                          (("1"
                                                            (case
                                                             "length(fs1!1) = length(fs2!1)")
                                                            (("1"
                                                              (apply-extensionality
                                                               1
                                                               :hide?
                                                               t)
                                                              (("1"
                                                                (apply-extensionality
                                                                 1
                                                                 :hide?
                                                                 t)
                                                                (("1"
                                                                  (case
                                                                   "x!1 < length(fs1!1) - 1")
                                                                  (("1"
                                                                    (case
                                                                     "seq(fs1!1 ^ (0, l(fs1!1) - 2))(x!1) = seq(fs2!1 ^ (0, l(fs2!1) - 2))(x!1)")
                                                                    (("1"
                                                                      (expand
                                                                       "^")
                                                                      (("1"
                                                                        (assert)
                                                                        nil)))
                                                                     ("2"
                                                                      (assert)
                                                                      nil)))
                                                                   ("2"
                                                                    (assert)
                                                                    (("2"
                                                                      (typepred
                                                                       "fs1!1`seq")
                                                                      (("2"
                                                                        (inst?)
                                                                        (("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (typepred
                                                                             "fs2!1`seq")
                                                                            (("2"
                                                                              (inst?)
                                                                              (("2"
                                                                                (assert)
                                                                                nil)))))))))))))))))))
                                                             ("2"
                                                              (expand
                                                               "^")
                                                              (("2"
                                                                (assert)
                                                                nil)))))))))))
                                                     ("2"
                                                      (name-replace
                                                       "P2"
                                                       "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                      (("2"
                                                        (hide
                                                         -1
                                                         -2
                                                         -5
                                                         -6
                                                         2
                                                         3
                                                         4
                                                         5
                                                         6)
                                                        (("2"
                                                          (lemma
                                                           "both_sides_times1")
                                                          (("2"
                                                            (inst
                                                             -1
                                                             "FP"
                                                             "P1"
                                                             "P2")
                                                            (("2"
                                                              (assert)
                                                              nil)))))))))
                                                     ("3"
                                                      (lemma "len1")
                                                      (("3"
                                                        (inst
                                                         -1
                                                         "fs1!1 ^ (0, length(fs1!1) - 2)")
                                                        (("3"
                                                          (assert)
                                                          (("3"
                                                            (split -1)
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (hide
                                                                 -2
                                                                 -3
                                                                 -4
                                                                 -5
                                                                 -6
                                                                 -7)
                                                                (("1"
                                                                  (expand
                                                                   "^")
                                                                  (("1"
                                                                    (assert)
                                                                    nil)))))))
                                                             ("2"
                                                              (rewrite
                                                               "ordered_list_of_primes_caret")
                                                              nil)))))))))))))))))))
                                           ("2"
                                            (hide -4 -5 -6 6)
                                            (("2"
                                              (lemma
                                               "both_sides_times_pos_lt1")
                                              (("2"
                                                (replace -4)
                                                (("2"
                                                  (inst
                                                   -1
                                                   "P1"
                                                   "1"
                                                   "FP")
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (reveal -4)
                                                      (("2"
                                                        (expand
                                                         "ordered_list_of_primes?")
                                                        (("2"
                                                          (flatten)
                                                          (("2"
                                                            (expand
                                                             "non_decreasing?")
                                                            (("2"
                                                              (expand
                                                               "list_of_primes?")
                                                              (("2"
                                                                (inst?)
                                                                (("2"
                                                                  (lemma
                                                                   "prime_gt_1")
                                                                  (("2"
                                                                    (inst
                                                                     -1
                                                                     "seq(fs2!1)(length(fs2!1) - 1)")
                                                                    (("2"
                                                                      (assert)
                                                                      nil)))))))))))))))))))))))))))))))))))))))))
                             ("2"
                              (case "seq(fs1!1)(length(fs1!1) - 1) > seq(fs2!1)(length(fs2!1) - 1)")
                              (("1"
                                (lemma "FTL_sym")
                                (("1"
                                  (inst -1 "fs1!1" "fs2!1" "j!1")
                                  (("1" (assertnil)))))
                               ("2"
                                (lemma "FTL_sym")
                                (("2"
                                  (inst -1 "fs2!1" "fs1!1" "j!1")
                                  (("2"
                                    (assert)
                                    nil))))))))))))))))))))))))))))))))
    ";;; developed with shostak decision procedures")
   nil nil)
  (FTL_prep-3 nil 3410545755
   ("" (induct "n" 1 "NAT_induction")
    (("" (skosimp*)
      (("" (lemma "len0")
        (("" (inst-cp -1 "fs2!1")
          (("" (inst -1 "fs1!1")
            (("" (assert)
              (("" (case "length(fs1!1) = 1")
                (("1" (hide -2)
                  (("1" (case "length(fs2!1) = 1")
                    (("1" (expand "product")
                      (("1" (expand "product")
                        (("1" (assert)
                          (("1" (apply-extensionality 3 :hide? t)
                            (("1" (apply-extensionality 1 :hide? t)
                              (("1"
                                (case "x!1 < 1")
                                (("1" (assertnil nil)
                                 ("2"
                                  (typepred "fs1!1`seq")
                                  (("2"
                                    (inst?)
                                    (("2"
                                      (assert)
                                      (("2"
                                        (typepred "fs2!1`seq")
                                        (("2"
                                          (inst?)
                                          (("2" (assertnil nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (lemma "product_fseq_split")
                      (("2" (inst -1 "fs2!1")
                        (("2" (assert)
                          (("2" (replace -1)
                            (("2" (hide -1)
                              (("2"
                                (expand "product" -2)
                                (("2"
                                  (replace -2)
                                  (("2"
                                    (hide -2)
                                    (("2"
                                      (expand
                                       "ordered_list_of_primes?"
                                       -3)
                                      (("2"
                                        (flatten)
                                        (("2"
                                          (expand "list_of_primes?")
                                          (("2"
                                            (inst -3 "0")
                                            (("2"
                                              (expand "prime?")
                                              (("2"
                                                (flatten)
                                                (("2"
                                                  (case
                                                   "product(fs2!1 ^ (0, length(fs2!1) - 2)) = 1")
                                                  (("1"
                                                    (replace -1)
                                                    (("1"
                                                      (lemma "len1")
                                                      (("1"
                                                        (inst
                                                         -1
                                                         "fs2!1 ^ (0, length(fs2!1) - 2)")
                                                        (("1"
                                                          (rewrite
                                                           "ordered_list_of_primes_caret")
                                                          (("1"
                                                            (assert)
                                                            (("1"
                                                              (hide -2)
                                                              (("1"
                                                                (expand
                                                                 "^")
                                                                (("1"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil)
                                                   ("2"
                                                    (inst
                                                     -3
                                                     "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                    (("2"
                                                      (assert)
                                                      (("2"
                                                        (split -3)
                                                        (("1"
                                                          (expand
                                                           "divides")
                                                          (("1"
                                                            (inst
                                                             1
                                                             "seq(fs2!1)(length(fs2!1) - 1)")
                                                            (("1"
                                                              (case-replace
                                                               "product(fs2!1 ^ (0, length(fs2!1) - 2)) = seq(fs1!1)(0)")
                                                              (("1"
                                                                (cancel-by
                                                                 1
                                                                 "seq(fs1!1)(0)")
                                                                (("1"
                                                                  (replace
                                                                   -2)
                                                                  (("1"
                                                                    (assert)
                                                                    (("1"
                                                                      (lemma
                                                                       "both_sides_times1")
                                                                      (("1"
                                                                        (inst
                                                                         -1
                                                                         "seq(fs1!1)(0)"
                                                                         "seq(fs2!1)(length(fs2!1) - 1)"
                                                                         "1")
                                                                        (("1"
                                                                          (assert)
                                                                          nil
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -1)
                                                                (("2"
                                                                  (assert)
                                                                  nil
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (flatten)
                                                          (("2"
                                                            (replace
                                                             -1)
                                                            (("2"
                                                              (replace
                                                               -2)
                                                              (("2"
                                                                (assert)
                                                                (("2"
                                                                  (cancel-by
                                                                   -3
                                                                   "seq(fs1!1)(0)")
                                                                  (("2"
                                                                    (expand
                                                                     "ordered_list_of_primes?")
                                                                    (("2"
                                                                      (flatten)
                                                                      (("2"
                                                                        (expand
                                                                         "list_of_primes?")
                                                                        (("2"
                                                                          (inst?)
                                                                          (("2"
                                                                            (assert)
                                                                            (("2"
                                                                              (lemma
                                                                               "prime_gt_1")
                                                                              (("2"
                                                                                (inst
                                                                                 -
                                                                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                                                                (("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (lemma "product_len_eq")
                  (("2" (inst -1 "fs2!1" "fs1!1")
                    (("2" (assert)
                      (("2" (rewrite "product_fseq_split")
                        (("2" (rewrite "product_fseq_split" -3)
                          (("2"
                            (case-replace
                             "seq(fs1!1)(length(fs1!1) - 1) = seq(fs2!1)(length(fs2!1) - 1)")
                            (("1" (hide -1)
                              (("1"
                                (name
                                 "FP"
                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (name
                                     "P1"
                                     "product(fs1!1 ^ (0, length(fs1!1) - 2))")
                                    (("1"
                                      (replace -1)
                                      (("1"
                                        (inst -3 "P1")
                                        (("1"
                                          (split -3)
                                          (("1"
                                            (inst
                                             -1
                                             "fs1!1^(0, length(fs1!1) - 2)"
                                             "fs2!1^ (0, length(fs2!1) - 2)")
                                            (("1"
                                              (assert)
                                              (("1"
                                                (rewrite
                                                 "ordered_list_of_primes_caret")
                                                (("1"
                                                  (rewrite
                                                   "ordered_list_of_primes_caret")
                                                  (("1"
                                                    (split -1)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (reveal -3)
                                                        (("1"
                                                          (hide
                                                           -3
                                                           -4
                                                           -5
                                                           -6
                                                           -7
                                                           -8
                                                           -9
                                                           1
                                                           2
                                                           3
                                                           4)
                                                          (("1"
                                                            (case
                                                             "length(fs1!1) = length(fs2!1)")
                                                            (("1"
                                                              (apply-extensionality
                                                               1
                                                               :hide?
                                                               t)
                                                              (("1"
                                                                (apply-extensionality
                                                                 1
                                                                 :hide?
                                                                 t)
                                                                (("1"
                                                                  (case
                                                                   "x!1 < length(fs1!1) - 1")
                                                                  (("1"
                                                                    (case
                                                                     "seq(fs1!1 ^ (0, length(fs1!1) - 2))(x!1) = seq(fs2!1 ^ (0, length(fs2!1) - 2))(x!1)")
                                                                    (("1"
                                                                      (expand
                                                                       "^")
                                                                      (("1"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (assert)
                                                                    (("2"
                                                                      (typepred
                                                                       "fs1!1`seq")
                                                                      (("2"
                                                                        (inst?)
                                                                        (("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (typepred
                                                                             "fs2!1`seq")
                                                                            (("2"
                                                                              (inst?)
                                                                              (("2"
                                                                                (assert)
                                                                                nil
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (expand
                                                               "^")
                                                              (("2"
                                                                (assert)
                                                                nil
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (name-replace
                                                       "P2"
                                                       "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                      (("2"
                                                        (hide
                                                         -1
                                                         -2
                                                         -5
                                                         -6
                                                         2
                                                         3
                                                         4
                                                         5
                                                         6)
                                                        (("2"
                                                          (lemma
                                                           "both_sides_times1")
                                                          (("2"
                                                            (inst
                                                             -1
                                                             "FP"
                                                             "P1"
                                                             "P2")
                                                            (("2"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("3"
                                                      (lemma "len1")
                                                      (("3"
                                                        (inst
                                                         -1
                                                         "fs1!1 ^ (0, length(fs1!1) - 2)")
                                                        (("3"
                                                          (assert)
                                                          (("3"
                                                            (split -1)
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (hide
                                                                 -2
                                                                 -3
                                                                 -4
                                                                 -5
                                                                 -6
                                                                 -7)
                                                                (("1"
                                                                  (expand
                                                                   "^")
                                                                  (("1"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (rewrite
                                                               "ordered_list_of_primes_caret")
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (hide -4 -5 -6 6)
                                            (("2"
                                              (lemma
                                               "both_sides_times_pos_lt1")
                                              (("2"
                                                (replace -4)
                                                (("2"
                                                  (inst
                                                   -1
                                                   "P1"
                                                   "1"
                                                   "FP")
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (reveal -4)
                                                      (("2"
                                                        (expand
                                                         "ordered_list_of_primes?")
                                                        (("2"
                                                          (flatten)
                                                          (("2"
                                                            (expand
                                                             "non_decreasing?")
                                                            (("2"
                                                              (expand
                                                               "list_of_primes?")
                                                              (("2"
                                                                (inst?)
                                                                (("2"
                                                                  (lemma
                                                                   "prime_gt_1")
                                                                  (("2"
                                                                    (inst
                                                                     -1
                                                                     "seq(fs2!1)(length(fs2!1) - 1)")
                                                                    (("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2"
                              (case "seq(fs1!1)(length(fs1!1) - 1) > seq(fs2!1)(length(fs2!1) - 1)")
                              (("1"
                                (lemma "FTL_sym")
                                (("1"
                                  (inst -1 "fs1!1" "fs2!1" "j!1")
                                  (("1" (assertnil nil))
                                  nil))
                                nil)
                               ("2"
                                (lemma "FTL_sym")
                                (("2"
                                  (inst -1 "fs2!1" "fs1!1" "j!1")
                                  (("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((product_len_eq formula-decl nil unique_scaf nil)
    (non_decreasing? const-decl "bool" product_perm_lems nil)
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (prime? const-decl "bool" primes "ints/")
    (^ const-decl "fseq" fseqs "structures/")
    (len1 formula-decl nil unique_scaf nil)
    (ordered_list_of_primes_caret formula-decl nil unique_scaf nil)
    (prime_gt_1 formula-decl nil primes "ints/")
    (product_eq_arg formula-decl nil product "reals/")
    (prod_posnat application-judgement "posnat" product_nat "reals/")
    (prod_nat application-judgement "nat" product_nat "reals/")
    (product_0_neg formula-decl nil product_nat "reals/")
    (default const-decl "T" fseqs "structures/")
    (product def-decl "real" product "reals/")
    (ordered_list_of_primes? const-decl "bool" prime_factorization nil)
    (fseq type-eq-decl nil fseqs "structures/")
    (barray type-eq-decl nil fseqs "structures/"))
   nil)
  (FTL_prep-2 nil 3407848746
   ("" (induct "n" 1 "NAT_induction")
    (("" (skosimp*)
      (("" (lemma "len0")
        (("" (inst-cp -1 "fs2!1")
          (("" (inst -1 "fs1!1")
            (("" (assert)
              (("" (case "length(fs1!1) = 1")
                (("1" (hide -2)
                  (("1" (case "length(fs2!1) = 1")
                    (("1" (expand "product")
                      (("1" (expand "product_rec")
                        (("1" (assert)
                          (("1" (apply-extensionality 3 :hide? t)
                            (("1" (apply-extensionality 1 :hide? t) nil
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (lemma "product_split")
                      (("2" (inst -1 "fs2!1")
                        (("2" (assert)
                          (("2" (replace -1)
                            (("2" (hide -1)
                              (("2"
                                (expand "product" -2)
                                (("2"
                                  (expand "product_rec" -2)
                                  (("2"
                                    (replace -2)
                                    (("2"
                                      (hide -2)
                                      (("2"
                                        (expand
                                         "ordered_list_of_primes?"
                                         -3)
                                        (("2"
                                          (flatten)
                                          (("2"
                                            (expand "list_of_primes?")
                                            (("2"
                                              (inst -3 "0")
                                              (("2"
                                                (expand "prime?")
                                                (("2"
                                                  (flatten)
                                                  (("2"
                                                    (case
                                                     "product(fs2!1 ^ (0, length(fs2!1) - 2)) = 1")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (lemma "len1")
                                                        (("1"
                                                          (inst
                                                           -1
                                                           "fs2!1 ^ (0, length(fs2!1) - 2)")
                                                          (("1"
                                                            (rewrite
                                                             "ordered_list_of_primes_caret")
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (hide
                                                                 -2)
                                                                (("1"
                                                                  (expand
                                                                   "^")
                                                                  (("1"
                                                                    (expand
                                                                     "min")
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (inst
                                                       -3
                                                       "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                      (("2"
                                                        (assert)
                                                        (("2"
                                                          (split -3)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               1
                                                               "seq(fs2!1)(length(fs2!1) - 1)")
                                                              nil
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (case-replace
                                                             "product(fs2!1 ^ (0, length(fs2!1) - 2)) = seq(fs1!1)(0)")
                                                            (("1"
                                                              (lemma
                                                               "both_sides_times1")
                                                              (("1"
                                                                (inst
                                                                 -1
                                                                 "seq(fs1!1)(0)"
                                                                 "seq(fs2!1)(length(fs2!1) - 1)"
                                                                 "1")
                                                                (("1"
                                                                  (assert)
                                                                  (("1"
                                                                    (hide
                                                                     -2
                                                                     -3
                                                                     -4
                                                                     -5
                                                                     1
                                                                     2
                                                                     6)
                                                                    (("1"
                                                                      (expand
                                                                       "ordered_list_of_primes?")
                                                                      (("1"
                                                                        (flatten)
                                                                        (("1"
                                                                          (expand
                                                                           "list_of_primes?")
                                                                          (("1"
                                                                            (inst?)
                                                                            (("1"
                                                                              (lemma
                                                                               "prime_gt_1")
                                                                              (("1"
                                                                                (inst
                                                                                 -1
                                                                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                                                                (("1"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("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)
                 ("2" (lemma "product_len_eq")
                  (("2" (inst -1 "fs2!1" "fs1!1")
                    (("2" (assert)
                      (("2" (rewrite "product_split")
                        (("2" (rewrite "product_split" -3)
                          (("2"
                            (case-replace
                             "seq(fs1!1)(length(fs1!1) - 1) = seq(fs2!1)(length(fs2!1) - 1)")
                            (("1" (hide -1)
                              (("1"
                                (name
                                 "FP"
                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (name
                                     "P1"
                                     "product(fs1!1 ^ (0, length(fs1!1) - 2))")
                                    (("1"
                                      (replace -1)
                                      (("1"
                                        (inst -3 "P1")
                                        (("1"
                                          (split -3)
                                          (("1"
                                            (inst
                                             -1
                                             "fs1!1^(0, length(fs1!1) - 2)"
                                             "fs2!1^ (0, length(fs2!1) - 2)")
                                            (("1"
                                              (assert)
                                              (("1"
                                                (rewrite
                                                 "ordered_list_of_primes_caret")
                                                (("1"
                                                  (rewrite
                                                   "ordered_list_of_primes_caret")
                                                  (("1"
                                                    (split -1)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (reveal -3)
                                                        (("1"
                                                          (hide
                                                           -3
                                                           -4
                                                           -5
                                                           -6
                                                           -7
                                                           -8
                                                           -9
                                                           1
                                                           2
                                                           3
                                                           4)
                                                          (("1"
                                                            (case
                                                             "length(fs1!1) = length(fs2!1)")
                                                            (("1"
                                                              (apply-extensionality
                                                               1
                                                               :hide?
                                                               t)
                                                              (("1"
                                                                (apply-extensionality
                                                                 1
                                                                 :hide?
                                                                 t)
                                                                (("1"
                                                                  (case
                                                                   "seq(fs1!1 ^ (0, length(fs1!1) - 2))(x!1) = seq(fs2!1 ^ (0, length(fs2!1) - 2))(x!1)")
                                                                  (("1"
                                                                    (expand
                                                                     "^")
                                                                    (("1"
                                                                      (propax)
                                                                      nil
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (assert)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (expand
                                                                     "^")
                                                                    (("3"
                                                                      (expand
                                                                       "min")
                                                                      (("3"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("4"
                                                                    (expand
                                                                     "^")
                                                                    (("4"
                                                                      (expand
                                                                       "min")
                                                                      (("4"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (expand
                                                               "^")
                                                              (("2"
                                                                (flatten)
                                                                (("2"
                                                                  (expand
                                                                   "min")
                                                                  (("2"
                                                                    (propax)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (name-replace
                                                       "P2"
                                                       "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                      (("2"
                                                        (hide
                                                         -1
                                                         -2
                                                         -5
                                                         -6
                                                         2
                                                         3
                                                         4
                                                         5
                                                         6)
                                                        (("2"
                                                          (lemma
                                                           "both_sides_times1")
                                                          (("2"
                                                            (inst
                                                             -1
                                                             "FP"
                                                             "P1"
                                                             "P2")
                                                            (("2"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("3"
                                                      (lemma "len1")
                                                      (("3"
                                                        (inst
                                                         -1
                                                         "fs1!1 ^ (0, length(fs1!1) - 2)")
                                                        (("3"
                                                          (assert)
                                                          (("3"
                                                            (split -1)
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (hide
                                                                 -2
                                                                 -3
                                                                 -4
                                                                 -5
                                                                 -6
                                                                 -7)
                                                                (("1"
                                                                  (expand
                                                                   "^")
                                                                  (("1"
                                                                    (expand
                                                                     "min")
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (rewrite
                                                               "ordered_list_of_primes_caret")
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (hide -4 -5 -6 6)
                                            (("2"
                                              (lemma
                                               "both_sides_times_pos_lt1")
                                              (("2"
                                                (replace -4)
                                                (("2"
                                                  (inst
                                                   -1
                                                   "P1"
                                                   "1"
                                                   "FP")
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (reveal -4)
                                                      (("2"
                                                        (expand
                                                         "ordered_list_of_primes?")
                                                        (("2"
                                                          (flatten)
                                                          (("2"
                                                            (expand
                                                             "non_decreasing?")
                                                            (("2"
                                                              (expand
                                                               "list_of_primes?")
                                                              (("2"
                                                                (inst?)
                                                                (("2"
                                                                  (lemma
                                                                   "prime_gt_1")
                                                                  (("2"
                                                                    (inst
                                                                     -1
                                                                     "seq(fs2!1)(length(fs2!1) - 1)")
                                                                    (("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2"
                              (case "seq(fs1!1)(length(fs1!1) - 1) > seq(fs2!1)(length(fs2!1) - 1)")
                              (("1"
                                (lemma "FTL_sym")
                                (("1"
                                  (inst -1 "fs1!1" "fs2!1" "j!1")
                                  (("1" (assertnil nil))
                                  nil))
                                nil)
                               ("2"
                                (lemma "FTL_sym")
                                (("2"
                                  (inst -1 "fs2!1" "fs1!1" "j!1")
                                  (("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((non_decreasing? const-decl "bool" product_perm_lems nil)
    (prime_gt_1 formula-decl nil primes "ints/")
    (prime? const-decl "bool" primes "ints/")
    (list_of_primes? const-decl "bool" prime_factorization nil)
    (ordered_list_of_primes? const-decl "bool" prime_factorization
     nil))
   nil)
  (FTL_prep-1 nil 3249308522
   ("" (induct "n" 1 "NAT_induction")
    (("" (skosimp*)
      (("" (lemma "len0")
        (("" (inst-cp -1 "fs2!1")
          (("" (inst -1 "fs1!1")
            (("" (assert)
              (("" (case "length(fs1!1) = 1")
                (("1" (hide -2)
                  (("1" (case "length(fs2!1) = 1")
                    (("1" (expand "product")
                      (("1" (expand "product_rec")
                        (("1" (assert)
                          (("1" (apply-extensionality 3 :hide? t)
                            (("1" (apply-extensionality 1 :hide? t)
                              (("1"
                                (skosimp*)
                                (("1" (ground) nil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil)
                     ("2" (lemma "product_split")
                      (("2" (inst -1 "fs2!1")
                        (("2" (assert)
                          (("2" (replace -1)
                            (("2" (hide -1)
                              (("2"
                                (expand "product" -2)
                                (("2"
                                  (expand "product_rec" -2)
                                  (("2"
                                    (replace -2)
                                    (("2"
                                      (hide -2)
                                      (("2"
                                        (expand
                                         "ordered_list_of_primes?"
                                         -3)
                                        (("2"
                                          (flatten)
                                          (("2"
                                            (expand "list_of_primes?")
                                            (("2"
                                              (inst -3 "0")
                                              (("2"
                                                (expand "prime?")
                                                (("2"
                                                  (flatten)
                                                  (("2"
                                                    (case
                                                     "product(fs2!1 ^ (0, length(fs2!1) - 2)) = 1")
                                                    (("1"
                                                      (replace -1)
                                                      (("1"
                                                        (lemma "len1")
                                                        (("1"
                                                          (inst
                                                           -1
                                                           "fs2!1 ^ (0, length(fs2!1) - 2)")
                                                          (("1"
                                                            (rewrite
                                                             "ordered_list_of_primes_caret")
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (hide
                                                                 -2)
                                                                (("1"
                                                                  (expand
                                                                   "^")
                                                                  (("1"
                                                                    (expand
                                                                     "min")
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (inst
                                                       -3
                                                       "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                      (("2"
                                                        (assert)
                                                        (("2"
                                                          (split -3)
                                                          (("1"
                                                            (expand
                                                             "divides")
                                                            (("1"
                                                              (inst
                                                               1
                                                               "seq(fs2!1)(length(fs2!1) - 1)")
                                                              nil
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (case-replace
                                                             "product(fs2!1 ^ (0, length(fs2!1) - 2)) = seq(fs1!1)(0)")
                                                            (("1"
                                                              (lemma
                                                               "both_sides_times1")
                                                              (("1"
                                                                (inst
                                                                 -1
                                                                 "seq(fs1!1)(0)"
                                                                 "seq(fs2!1)(length(fs2!1) - 1)"
                                                                 "1")
                                                                (("1"
                                                                  (assert)
                                                                  (("1"
                                                                    (hide
                                                                     -2
                                                                     -3
                                                                     -4
                                                                     -5
                                                                     1
                                                                     2
                                                                     6)
                                                                    (("1"
                                                                      (expand
                                                                       "ordered_list_of_primes?")
                                                                      (("1"
                                                                        (flatten)
                                                                        (("1"
                                                                          (expand
                                                                           "list_of_primes?")
                                                                          (("1"
                                                                            (inst?)
                                                                            (("1"
                                                                              (lemma
                                                                               "prime_gt_1")
                                                                              (("1"
                                                                                (inst
                                                                                 -1
                                                                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                                                                (("1"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("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)
                 ("2" (lemma "product_len_eq")
                  (("2" (inst -1 "fs2!1" "fs1!1")
                    (("2" (assert)
                      (("2" (rewrite "product_split")
                        (("2" (rewrite "product_split" -3)
                          (("2"
                            (case-replace
                             "seq(fs1!1)(length(fs1!1) - 1) = seq(fs2!1)(length(fs2!1) - 1)")
                            (("1" (hide -1)
                              (("1"
                                (name
                                 "FP"
                                 "seq(fs2!1)(length(fs2!1) - 1)")
                                (("1"
                                  (replace -1)
                                  (("1"
                                    (name
                                     "P1"
                                     "product(fs1!1 ^ (0, length(fs1!1) - 2))")
                                    (("1"
                                      (replace -1)
                                      (("1"
                                        (inst -3 "P1")
                                        (("1"
                                          (split -3)
                                          (("1"
                                            (inst
                                             -1
                                             "fs1!1^(0, length(fs1!1) - 2)"
                                             "fs2!1^ (0, length(fs2!1) - 2)")
                                            (("1"
                                              (assert)
                                              (("1"
                                                (rewrite
                                                 "ordered_list_of_primes_caret")
                                                (("1"
                                                  (rewrite
                                                   "ordered_list_of_primes_caret")
                                                  (("1"
                                                    (split -1)
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (reveal -3)
                                                        (("1"
                                                          (hide
                                                           -3
                                                           -4
                                                           -5
                                                           -6
                                                           -7
                                                           -8
                                                           -9
                                                           1
                                                           2
                                                           3
                                                           4)
                                                          (("1"
                                                            (case
                                                             "length(fs1!1) = length(fs2!1)")
                                                            (("1"
                                                              (apply-extensionality
                                                               1
                                                               :hide?
                                                               t)
                                                              (("1"
                                                                (apply-extensionality
                                                                 1
                                                                 :hide?
                                                                 t)
                                                                (("1"
                                                                  (case
                                                                   "seq(fs1!1 ^ (0, length(fs1!1) - 2))(x!1) = seq(fs2!1 ^ (0, length(fs2!1) - 2))(x!1)")
                                                                  (("1"
                                                                    (expand
                                                                     "^")
                                                                    (("1"
                                                                      (propax)
                                                                      nil
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (assert)
                                                                    nil
                                                                    nil)
                                                                   ("3"
                                                                    (expand
                                                                     "^")
                                                                    (("3"
                                                                      (expand
                                                                       "min")
                                                                      (("3"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("4"
                                                                    (expand
                                                                     "^")
                                                                    (("4"
                                                                      (expand
                                                                       "min")
                                                                      (("4"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil)
                                                                 ("2"
                                                                  (skosimp*)
                                                                  (("2"
                                                                    (ground)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (expand
                                                               "^")
                                                              (("2"
                                                                (flatten)
                                                                (("2"
                                                                  (expand
                                                                   "min")
                                                                  (("2"
                                                                    (propax)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (name-replace
                                                       "P2"
                                                       "product(fs2!1 ^ (0, length(fs2!1) - 2))")
                                                      (("2"
                                                        (hide
                                                         -1
                                                         -2
                                                         -5
                                                         -6
                                                         2
                                                         3
                                                         4
                                                         5
                                                         6)
                                                        (("2"
                                                          (lemma
                                                           "both_sides_times1")
                                                          (("2"
                                                            (inst
                                                             -1
                                                             "FP"
                                                             "P1"
                                                             "P2")
                                                            (("2"
                                                              (assert)
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("3"
                                                      (lemma "len1")
                                                      (("3"
                                                        (inst
                                                         -1
                                                         "fs1!1 ^ (0, length(fs1!1) - 2)")
                                                        (("3"
                                                          (assert)
                                                          (("3"
                                                            (split -1)
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (hide
                                                                 -2
                                                                 -3
                                                                 -4
                                                                 -5
                                                                 -6
                                                                 -7)
                                                                (("1"
                                                                  (expand
                                                                   "^")
                                                                  (("1"
                                                                    (expand
                                                                     "min")
                                                                    (("1"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil)
                                                             ("2"
                                                              (rewrite
                                                               "ordered_list_of_primes_caret")
                                                              nil
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil)
                                           ("2"
                                            (hide -4 -5 -6 6)
                                            (("2"
                                              (lemma
                                               "both_sides_times_pos_lt1")
                                              (("2"
                                                (replace -4)
                                                (("2"
                                                  (inst
                                                   -1
                                                   "P1"
                                                   "1"
                                                   "FP")
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (reveal -4)
                                                      (("2"
                                                        (expand
                                                         "ordered_list_of_primes?")
                                                        (("2"
                                                          (flatten)
                                                          (("2"
                                                            (expand
                                                             "non_decreasing?")
                                                            (("2"
                                                              (expand
                                                               "list_of_primes?")
                                                              (("2"
                                                                (inst?)
                                                                (("2"
                                                                  (lemma
                                                                   "prime_gt_1")
                                                                  (("2"
                                                                    (inst
                                                                     -1
                                                                     "seq(fs2!1)(length(fs2!1) - 1)")
                                                                    (("2"
                                                                      (assert)
                                                                      nil
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2"
                              (case "seq(fs1!1)(length(fs1!1) - 1) > seq(fs2!1)(length(fs2!1) - 1)")
                              (("1"
                                (lemma "FTL_sym")
                                (("1"
                                  (inst -1 "fs1!1" "fs2!1" "j!1")
                                  (("1" (assertnil nil))
                                  nil))
                                nil)
                               ("2"
                                (lemma "FTL_sym")
                                (("2"
                                  (inst -1 "fs2!1" "fs1!1" "j!1")
                                  (("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((non_decreasing? const-decl "bool" product_perm_lems nil)
    (prime_gt_1 formula-decl nil primes "ints/")
    (prime? const-decl "bool" primes "ints/"))
   nil))
 (Fundamental_Theorem_Arithmetic 0
  (Fundamental_Theorem_Arithmetic-1 nil 3249308522
   ("" (skosimp*)
    (("" (case "n!1 = 1")
      (("1" (lemma "len1")
        (("1" (inst?)
          (("1" (assert)
            (("1" (lemma "len1")
              (("1" (inst -1 "fs2!1")
                (("1" (assert)
                  (("1" (apply-extensionality 1 :hide? t)
                    (("1" (apply-extensionality 1 :hide? t)
                      (("1" (typepred "fs1!1`seq")
                        (("1" (typepred "fs2!1`seq")
                          (("1" (inst?)
                            (("1" (inst?) (("1" (assertnil nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2"
        (case "seq(fs1!1)(length(fs1!1)-1) < seq(fs2!1)(length(fs2!1)-1)")
        (("1" (lemma "FTL_prep")
          (("1" (inst -1 "fs2!1" "fs1!1" "n!1")
            (("1" (assertnil nil)) nil))
          nil)
         ("2" (lemma "FTL_prep")
          (("2" (inst -1 "fs1!1" "fs2!1" "n!1")
            (("2" (assertnil nil)) nil))
          nil)
         ("3" (lemma "len0")
          (("3" (hide -2) (("3" (inst?) (("3" (assertnil nil)) nil))
            nil))
          nil)
         ("4" (lemma "len0")
          (("4" (inst?) (("4" (assertnil nil)) nil)) nil))
        nil))
      nil))
    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)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (barray type-eq-decl nil fseqs "structures/")
    (fseq type-eq-decl nil fseqs "structures/")
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (default const-decl "T" fseqs "structures/")
    (len1 formula-decl nil unique_scaf nil)
    (len0 formula-decl nil product_fseq_posnat "reals/")
    (FTL_prep formula-decl nil unique_factorization nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (< const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields
       nil))
   nil)))


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

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.505Bemerkung:  (Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-04-30) ¤

*Eine klare Vorstellung vom Zielzustand






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