products/Sources/formale Sprachen/PVS/ints image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: sigma.pvs   Sprache: Lisp

Original von: PVS©

(primes
 (prime_rew 0
  (prime_rew-2 nil 3407841886
   ("" (skosimp*)
    (("" (expand "prime?")
      (("" (iff 1)
        (("" (ground)
          (("1" (skosimp*) (("1" (inst?) (("1" (assertnil nil)) nil))
            nil)
           ("2" (skosimp*)
            (("2" (inst?)
              (("2" (assert)
                (("2" (expand "divides")
                  (("2" (skosimp*)
                    (("2" (lemma "both_sides_times_pos_gt1")
                      (("2" (inst - "j!1" "x!1" "1")
                        (("2" (assert)
                          (("2" (lemma "pos_times_le")
                            (("2" (inst?) (("2" (assertnil nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((prime? const-decl "bool" primes nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props 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)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (divides const-decl "bool" divides nil)
    (both_sides_times_pos_gt1 formula-decl nil real_props nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (pos_times_le formula-decl nil real_props nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (posreal nonempty-type-eq-decl nil real_types nil))
   nil)
  (prime_rew-1 nil 3282645260
   ("" (skosimp*)
    (("" (iff 1)
      (("" (ground)
        (("1" (skosimp*)
          (("1" (expand "prime?")
            (("1" (flatten)
              (("1" (inst?) (("1" (assertnil nil)) nil)) nil))
            nil))
          nil)
         ("2" (expand "prime?") (("2" (propax) nil nil)) nil)
         ("3" (expand "prime?")
          (("3" (skosimp*)
            (("3" (inst?)
              (("3" (assert)
                (("3" (expand "divides")
                  (("3" (skosimp*)
                    (("3" (lemma "pos_times_le")
                      (("3" (inst?)
                        (("3" (assert)
                          (("3" (lemma "both_sides_times_pos_ge1")
                            (("3" (inst - "j!1" "k!1" "1")
                              (("3"
                                (assert)
                                (("3"
                                  (case-replace "k!1 = 0")
                                  (("1" (assertnil nil)
                                   ("2" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   nil nil))
 (prime_gt_1 0
  (prime_gt_1-1 nil 3282645260
   ("" (skosimp*) (("" (expand "prime?") (("" (prop) nil nil)) nil))
    nil)
   ((prime? const-decl "bool" primes nil)) nil))
 (prime_divides_prod 0
  (prime_divides_prod-2 nil 3540230274
   ("" (skeep)
    ((""
      (case "FORALL (i, j: nat):
               divides(n, i * j) IMPLIES (divides(n, i) OR divides(n, j))")
      (("1" (skeep)
        (("1" (inst - "abs(i)" "abs(j)")
          (("1" (ground)
            (("1" (expand "divides" (-1 1))
              (("1" (skeep -1)
                (("1" (inst + "(IF i >= 0 THEN 1 ELSE -1 ENDIF)*x")
                  (("1" (hide (-2 -3 2)) (("1" (grind) nil nil)) nil))
                  nil))
                nil))
              nil)
             ("2" (expand "divides" (-1 2))
              (("2" (skeep -1)
                (("2" (inst + "(IF j >= 0 THEN 1 ELSE -1 ENDIF)*x")
                  (("2" (hide (-2 -3 1)) (("2" (grind) nil nil)) nil))
                  nil))
                nil))
              nil)
             ("3" (hide (-1 2 3))
              (("3" (expand "divides")
                (("3" (skosimp*)
                  (("3" (inst + "abs(x!1)")
                    (("3" (case "n*abs(x!1) > 0")
                      (("1" (case "abs(i)*abs(j) > 0")
                        (("1" (grind) nil nil)
                         ("2" (case "abs(i) > 0")
                          (("1" (mult-by -1 "abs(j)")
                            (("1" (assertnil nil)) nil)
                           ("2" (assertnil nil))
                          nil))
                        nil)
                       ("2" (case "n > 0")
                        (("1" (mult-by -1 "abs(x!1)")
                          (("1" (assertnil nil)
                           ("2" (case "x!1 = 0")
                            (("1" (replace -1)
                              (("1"
                                (assert)
                                (("1" (grind) nil nil))
                                nil))
                              nil)
                             ("2" (hide-all-but (1 2))
                              (("2" (grind) nil nil)) nil))
                            nil))
                          nil)
                         ("2" (case "n = 0")
                          (("1" (replace -1)
                            (("1" (hide 2)
                              (("1"
                                (assert)
                                (("1" (grind) nil nil))
                                nil))
                              nil))
                            nil)
                           ("2" (assertnil nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (hide 2)
        (("2"
          (case "FORALL (m:nat): FORALL (p:posnat): prime?(p) AND p<=m IMPLIES (FORALL (i, j: nat):
        divides(p, i * j) IMPLIES (divides(p, i) OR divides(p, j)))")
          (("1" (inst - "n")
            (("1" (inst - "n")
              (("1" (assertnil nil)
               ("2" (assert)
                (("2" (expand "prime?") (("2" (propax) nil nil)) nil))
                nil))
              nil))
            nil)
           ("2" (hide 2)
            (("2" (induct "m")
              (("1" (skeep) (("1" (assertnil nil)) nil)
               ("2" (hide -1)
                (("2" (skolem 1 "m")
                  (("2" (flatten)
                    (("2" (skeep)
                      (("2" (case "NOT m+1 = p")
                        (("1" (inst - "p") (("1" (assertnil nil))
                          nil)
                         ("2" (replace -1)
                          (("2" (case "m = p-1")
                            (("1" (replace -1)
                              (("1"
                                (hide (-1 -2 -5))
                                (("1"
                                  (case
                                   "FORALL (n:nat, i, j: nat): i<=n AND
        divides(p, i * j) IMPLIES (divides(p, i) OR divides(p, j))")
                                  (("1"
                                    (skeep)
                                    (("1"
                                      (inst - "i" "i" "j")
                                      (("1" (assertnil nil))
                                      nil))
                                    nil)
                                   ("2"
                                    (hide 2)
                                    (("2"
                                      (induct "n")
                                      (("1"
                                        (skeep)
                                        (("1" (assertnil nil))
                                        nil)
                                       ("2"
                                        (skolem 1 "nn")
                                        (("2"
                                          (flatten)
                                          (("2"
                                            (skeep)
                                            (("2"
                                              (case "NOT i = nn+1")
                                              (("1"
                                                (inst - "i" "j")
                                                (("1"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil)
                                               ("2"
                                                (case "nn = i-1")
                                                (("1"
                                                  (replace -1)
                                                  (("1"
                                                    (assert)
                                                    (("1"
                                                      (hide (-1 -2 -4))
                                                      (("1"
                                                        (case
                                                         "NOT prime?(i)")
                                                        (("1"
                                                          (expand
                                                           "prime?"
                                                           1)
                                                          (("1"
                                                            (skolem
                                                             1
                                                             "d")
                                                            (("1"
                                                              (flatten)
                                                              (("1"
                                                                (expand
                                                                 "divides"
                                                                 -1)
                                                                (("1"
                                                                  (skolem
                                                                   -1
                                                                   "c")
                                                                  (("1"
                                                                    (case
                                                                     "c > 0")
                                                                    (("1"
                                                                      (case
                                                                       "d)
                                                                      (("1"
                                                                        (inst-cp
                                                                         -
                                                                         "d"
                                                                         "c*j")
                                                                        (("1"
                                                                          (assert)
                                                                          (("1"
                                                                            (split
                                                                             -)
                                                                            (("1"
                                                                              (expand
                                                                               "divides"
                                                                               -1)
                                                                              (("1"
                                                                                (skosimp*)
                                                                                (("1"
                                                                                  (replace
                                                                                   -1
                                                                                   -4)
                                                                                  (("1"
                                                                                    (expand
                                                                                     "divides"
                                                                                     +)
                                                                                    (("1"
                                                                                      (inst
                                                                                       +
                                                                                       "x!1*c")
                                                                                      (("1"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil)
                                                                             ("2"
                                                                              (inst
                                                                               -
                                                                               "c"
                                                                               "j")
                                                                              (("2"
                                                                                (assert)
                                                                                (("2"
                                                                                  (split
                                                                                   -)
                                                                                  (("1"
                                                                                    (expand
                                                                                     "divides"
                                                                                     -1)
                                                                                    (("1"
                                                                                      (skosimp*)
                                                                                      (("1"
                                                                                        (replace
                                                                                         -1
                                                                                         -5)
                                                                                        (("1"
                                                                                          (replace
                                                                                           -5)
                                                                                          (("1"
                                                                                            (expand
                                                                                             "divides"
                                                                                             +)
                                                                                            (("1"
                                                                                              (inst
                                                                                               +
                                                                                               "d*x!1")
                                                                                              (("1"
                                                                                                (assert)
                                                                                                nil
                                                                                                nil))
                                                                                              nil))
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil)
                                                                                   ("2"
                                                                                    (case
                                                                                     "d>1")
                                                                                    (("1"
                                                                                      (mult-by
                                                                                       -1
                                                                                       "c")
                                                                                      (("1"
                                                                                        (assert)
                                                                                        nil
                                                                                        nil))
                                                                                      nil)
                                                                                     ("2"
                                                                                      (assert)
                                                                                      nil
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil)
                                                                         ("2"
                                                                          (assert)
                                                                          (("2"
                                                                            (lemma
                                                                             "nnreal_times_nnreal_is_nnreal")
                                                                            (("2"
                                                                              (inst?)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil)
                                                                       ("2"
                                                                        (case
                                                                         "c = 1")
                                                                        (("1"
                                                                          (assert)
                                                                          nil
                                                                          nil)
                                                                         ("2"
                                                                          (case
                                                                           "c > 1")
                                                                          (("1"
                                                                            (mult-by
                                                                             -1
                                                                             "d")
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil)
                                                                           ("2"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (lemma
                                                                       "nnreal_times_nnreal_is_nnreal")
                                                                      (("2"
                                                                        (inst
                                                                         -
                                                                         "d"
                                                                         "-c")
                                                                        (("1"
                                                                          (assert)
                                                                          nil
                                                                          nil)
                                                                         ("2"
                                                                          (assert)
                                                                          nil
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil)
                                                         ("2"
                                                          (case
                                                           "NOT i < p")
                                                          (("1"
                                                            (name
                                                             "ap"
                                                             "i-p")
                                                            (("1"
                                                              (case
                                                               "NOT divides(p,j*(i-p))")
                                                              (("1"
                                                                (assert)
                                                                (("1"
                                                                  (expand
                                                                   "divides"
                                                                   (-4
                                                                    1))
                                                                  (("1"
                                                                    (skosimp*)
                                                                    (("1"
                                                                      (inst
                                                                       +
                                                                       "x!1 - j")
                                                                      (("1"
                                                                        (assert)
                                                                        nil
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil)
                                                               ("2"
                                                                (replace
                                                                 -2)
                                                                (("2"
                                                                  (inst
                                                                   -
                                                                   "ap"
                                                                   "j")
                                                                  (("1"
                                                                    (assert)
                                                                    (("1"
                                                                      (replace
                                                                       -2
                                                                       :dir
                                                                       rl)
                                                                      (("1"
                                                                        (expand
                                                                         "divides"
                                                                         (-4
                                                                          +))
                                                                        (("1"
                                                                          (skosimp*)
                                                                          (("1"
                                                                            (inst
                                                                             +
                                                                             "x!1+1")
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil)
                                                                   ("2"
                                                                    (assert)
                                                                    nil
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil)
                                                           ("2"
                                                            (inst-cp
                                                             -5
                                                             "i")
                                                            (("2"
                                                              (assert)
                                                              (("2"
                                                                (expand
                                                                 "divides"
                                                                 -4)
                                                                (("2"
                                                                  (skosimp*)
                                                                  (("2"
                                                                    (inst
                                                                     -6
                                                                     "p"
                                                                     "x!1")
                                                                    (("1"
                                                                      (split
                                                                       -)
                                                                      (("1"
                                                                        (copy
                                                                         -7)
                                                                        (("1"
                                                                          (expand
                                                                           "prime?"
                                                                           -1)
                                                                          (("1"
                                                                            (inst
                                                                             -
                                                                             "i")
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil)
                                                                       ("2"
                                                                        (expand
                                                                         "divides"
                                                                         -1)
                                                                        (("2"
                                                                          (skosimp*)
                                                                          (("2"
                                                                            (replace
                                                                             -1)
                                                                            (("2"
                                                                              (case
                                                                               "j = p*x!2")
                                                                              (("1"
                                                                                (expand
                                                                                 "divides"
                                                                                 2)
                                                                                (("1"
                                                                                  (inst
                                                                                   +
                                                                                   "x!2")
                                                                                  nil
                                                                                  nil))
                                                                                nil)
                                                                               ("2"
                                                                                (mult-by
                                                                                 1
                                                                                 "i")
                                                                                (("2"
                                                                                  (assert)
                                                                                  nil
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil)
                                                                       ("3"
                                                                        (expand
                                                                         "divides"
                                                                         1)
                                                                        (("3"
                                                                          (inst
                                                                           +
                                                                           "j")
                                                                          (("3"
                                                                            (assert)
                                                                            nil
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil)
                                                                     ("2"
                                                                      (assert)
                                                                      (("2"
                                                                        (lemma
                                                                         "nnreal_times_nnreal_is_nnreal")
                                                                        (("2"
                                                                          (inst
                                                                           -
                                                                           "p"
                                                                           "-x!1")
                                                                          (("2"
                                                                            (assert)
                                                                            (("2"
                                                                              (lemma
                                                                               "nnreal_times_nnreal_is_nnreal")
                                                                              (("2"
                                                                                (inst
                                                                                 -
                                                                                 "i"
                                                                                 "j")
                                                                                (("2"
                                                                                  (case
                                                                                   "NOT i*j = 0")
                                                                                  (("1"
                                                                                    (assert)
                                                                                    nil
                                                                                    nil)
                                                                                   ("2"
                                                                                    (case
                                                                                     "i = 0 OR j = 0")
                                                                                    (("1"
                                                                                      (ground)
                                                                                      nil
                                                                                      nil)
                                                                                     ("2"
                                                                                      (flatten)
                                                                                      (("2"
                                                                                        (lemma
                                                                                         "nzreal_times_nzreal_is_nzreal")
                                                                                        (("2"
                                                                                          (inst?)
                                                                                          (("2"
                                                                                            (assert)
                                                                                            nil
                                                                                            nil))
                                                                                          nil))
                                                                                        nil))
                                                                                      nil))
                                                                                    nil))
                                                                                  nil))
                                                                                nil))
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil)
                                                 ("2"
                                                  (assert)
                                                  nil
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((OR const-decl "[bool, bool -> bool]" booleans nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (divides const-decl "bool" divides nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans 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)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (int_abs_is_nonneg application-judgement "{j: nonneg_int | j >= i}"
     real_defs nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (> const-decl "bool" reals nil)
    (even_times_int_is_even application-judgement "even_int" integers
     nil)
    (posreal nonempty-type-eq-decl nil real_types nil)
    (both_sides_times_pos_gt1 formula-decl nil real_props nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (x!1 skolem-const-decl "int" primes nil)
    (int_times_even_is_even application-judgement "even_int" integers
     nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (minus_odd_is_odd application-judgement "odd_int" integers nil)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (real_ge_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (minus_int_is_int application-judgement "int" integers nil)
    (<= const-decl "bool" reals nil)
    (prime? const-decl "bool" primes nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (n skolem-const-decl "nat" primes nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (pred type-eq-decl nil defined_types nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (ap skolem-const-decl "int" primes nil)
    (nzreal nonempty-type-eq-decl nil reals nil)
    (nzreal_times_nzreal_is_nzreal judgement-tcc nil real_types nil)
    (nonzero_real nonempty-type-eq-decl nil reals nil)
    (/= const-decl "boolean" notequal nil)
    (both_sides_times1 formula-decl nil real_props nil)
    (x!1 skolem-const-decl "int" primes nil)
    (< const-decl "bool" reals nil)
    (nnreal_times_nnreal_is_nnreal judgement-tcc nil real_types nil)
    (j skolem-const-decl "nat" primes nil)
    (c skolem-const-decl "int" primes nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil))
   nil)
  (prime_divides_prod-1 nil 3540230163
   ("" (skeep)
    (("" (skeep)
      (("" (expand "divides")
        (("" (skosimp*) (("" (postpone) nil nil)) nil)) nil))
      nil))
    nil)
   nil shostak))
 (prime_divides_factorial 0
  (prime_divides_factorial-1 nil 3564153183
   ("" (induct "N")
    (("1" (skeep)
      (("1" (expand "prime?")
        (("1" (flatten)
          (("1" (assert)
            (("1" (expand "divides")
              (("1" (skeep -3)
                (("1" (case "x<=0")
                  (("1" (lemma "nnreal_times_nnreal_is_nnreal")
                    (("1" (inst - "-x" "n")
                      (("1" (assertnil nil) ("2" (assertnil nil))
                      nil))
                    nil)
                   ("2" (case "x >= 1")
                    (("1" (mult-ineq -1 -3) (("1" (assertnil nil))
                      nil)
                     ("2" (assertnil nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil)
     ("2" (skeep)
      (("2" (skeep)
        (("2" (assert)
          (("2" (inst - "n")
            (("2" (assert)
              (("2" (case "j>=n")
                (("1" (assert)
                  (("1" (name "kiki" "1+j")
                    (("1" (replace -1)
                      (("1" (expand "factorial" +)
                        (("1" (assert)
                          (("1" (expand "divides")
                            (("1" (skosimp*)
                              (("1"
                                (inst + "kiki*x!1")
                                (("1" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil)
                 ("2" (assert)
                  (("2" (case "j=n-1")
                    (("1" (assert)
                      (("1" (case "j+1=n")
                        (("1" (replace -1)
                          (("1" (expand "factorial" 3)
                            (("1" (expand "divides" 3)
                              (("1" (inst?) nil nil)) nil))
                            nil))
                          nil)
                         ("2" (assertnil nil))
                        nil))
                      nil)
                     ("2" (assert)
                      (("2" (lemma "prime_divides_prod")
                        (("2" (name "kiki" "1+j")
                          (("2" (replace -1)
                            (("2" (expand "factorial" -4)
                              (("2"
                                (assert)
                                (("2"
                                  (inst - "n")
                                  (("2"
                                    (assert)
                                    (("2"
                                      (inst
                                       -
                                       "kiki"
                                       "factorial(kiki-1)")
                                      (("2"
                                        (assert)
                                        (("2"
                                          (case "NOT kiki < n")
                                          (("1" (assertnil nil)
                                           ("2"
                                            (hide-all-but (-1 -3 1))
                                            (("2"
                                              (typepred "kiki")
                                              (("2"
                                                (expand "divides")
                                                (("2"
                                                  (skosimp*)
                                                  (("2"
                                                    (assert)
                                                    (("2"
                                                      (case "1 <= x!1")
                                                      (("1"
                                                        (mult-ineq
                                                         -1
                                                         -3)
                                                        (("1"
                                                          (assert)
                                                          nil
                                                          nil))
                                                        nil)
                                                       ("2"
                                                        (assert)
                                                        (("2"
                                                          (case
                                                           "x!1 <= 0")
                                                          (("1"
                                                            (lemma
                                                             "nnreal_times_nnreal_is_nnreal")
                                                            (("1"
                                                              (inst
                                                               -
                                                               "-x!1"
                                                               "n")
                                                              (("1"
                                                                (assert)
                                                                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))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (lt_times_lt_any1 formula-decl nil extra_real_props nil)
    (prime_divides_prod formula-decl nil primes nil)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (posint nonempty-type-eq-decl nil integers nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (<= const-decl "bool" reals nil)
    (minus_int_is_int application-judgement "int" integers nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (x skolem-const-decl "int" primes nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (real_le_is_total_order name-judgement "(total_order?[real])"
     real_props nil)
    (nnreal_times_nnreal_is_nnreal judgement-tcc nil real_types nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (odd_times_odd_is_odd application-judgement "odd_int" integers nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (gt_times_gt_any1 formula-decl nil extra_real_props nil)
    (factorial_0 formula-decl nil factorial 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)
    (nat_induction formula-decl nil naturalnumbers nil)
    (factorial def-decl "posnat" factorial nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (divides const-decl "bool" divides nil)
    (IFF const-decl "[bool, bool -> bool]" booleans nil)
    (prime? const-decl "bool" primes nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans 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))
   shostak))
 (prod_primes_divides 0
  (prod_primes_divides-1 nil 3594134957
   (""
    (case "FORALL (m, n: nat, j: int):
             prime?(n) AND prime?(m) AND divides(m, j) AND divides(n, j)
         AND n > m
         IMPLIES divides(m * n, j)")
    (("1" (skeep)
      (("1" (inst-cp - "m" "n" "j")
        (("1" (inst - "n" "m" "j") (("1" (ground) nil nil)) nil)) nil))
      nil)
     ("2" (hide 2)
      (("2" (skeep)
        (("2" (expand "divides")
          (("2" (skolem - "k1")
            (("2" (skolem - "k2")
              (("2" (lemma "prime_divides_prod")
                (("2" (inst - "m")
                  (("2" (assert)
                    (("2" (inst - "n" "k2")
                      (("2" (split -)
                        (("1" (expand "prime?" -2)
                          (("1" (flatten)
                            (("1" (inst - "m")
                              (("1"
                                (assert)
                                (("1"
                                  (flatten)
                                  (("1"
                                    (replaces -1)
                                    (("1"
                                      (lemma "prime_gt_1")
                                      (("1"
                                        (inst - "m")
                                        (("1" (assertnil nil))
                                        nil))
                                      nil))
                                    nil))
                                  nil))
                                nil)
                               ("2" (assertnil nil))
                              nil))
                            nil))
                          nil)
                         ("2" (expand "divides" -1)
                          (("2" (skolem -1 "d5")
                            (("2" (replace -1)
                              (("2"
                                (inst + "d5")
                                (("2" (assertnil nil))
                                nil))
                              nil))
                            nil))
                          nil)
                         ("3" (expand "divides" 1)
                          (("3" (inst + "k1") (("3" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((m skolem-const-decl "nat" primes nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (prime_gt_1 formula-decl nil primes nil)
    (prime_divides_prod formula-decl nil primes nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (number nonempty-type-decl nil numbers nil)
    (boolean nonempty-type-decl nil booleans nil)
    (number_field_pred const-decl "[number -> boolean]" number_fields
     nil)
    (number_field nonempty-type-from-decl nil number_fields nil)
    (real_pred const-decl "[number_field -> boolean]" reals nil)
    (real nonempty-type-from-decl nil reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (bool nonempty-type-eq-decl nil booleans nil)
    (>= const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (prime? const-decl "bool" primes nil)
    (divides const-decl "bool" divides nil)
    (> const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields
       nil))
   shostak))
 (prime_2 0
  (prime_2-1 nil 3282645260
   ("" (rewrite "prime_rew")
    (("" (skosimp*) (("" (assertnil nil)) nil)) 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)
    (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)
    (prime_rew formula-decl nil primes nil))
   nil))
 (prime_3 0
  (prime_3-1 nil 3407844665
   ("" (expand "prime?")
    (("" (skosimp*)
      (("" (lemma "divides_lt")
        (("" (inst?)
          (("" (assert)
            (("" (expand "abs")
--> --------------------

--> maximum size reached

--> --------------------

¤ Dauer der Verarbeitung: 1.205 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




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 ist noch experimentell.


Bot Zugriff