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


Quellcode-Bibliothek

© Kompilation durch diese Firma

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

Datei: Case13.v   Sprache: Lisp

Original von: PVS©

(chinese_remainder
 (chinese_remainder_base_TCC1 0
  (chinese_remainder_base_TCC1-1 nil 3540894916
   ("" (subtype-tcc) nil nilnil nil))
 (chinese_remainder_base 0
  (chinese_remainder_base-1 nil 3540893875
   ("" (skeep)
    (("" (case "m2 > 1")
      (("1" (case "EXISTS (t:nat): mod(a1+t*m1,m2) = mod(a2,m2)")
        (("1" (skeep -1)
          (("1" (inst + "mod(a1+t*m1,m1*m2)")
            (("1" (split +)
              (("1" (hide -) (("1" (grind) nil nil)) nil)
               ("2" (assert)
                (("2" (hide -2) (("2" (grind) nil nil)) nil)) nil))
              nil))
            nil))
          nil)
         ("2" (hide 2)
          (("2" (lemma "rel_prime_inverse")
            (("2" (inst - "m2" "m1")
              (("2" (assert)
                (("2" (inst - "mod(a2-a1,m2)")
                  (("2" (skosimp*)
                    (("2" (inst + "k!1")
                      (("2" (hide -3) (("2" (grind) nil nil)) nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil))
        nil)
       ("2" (case "NOT m2 = 1")
        (("1" (assertnil nil)
         ("2" (replace -1)
          (("2" (hide 1)
            (("2" (assert)
              (("2" (inst + "mod(a1,m1)")
                (("1" (assert) (("1" (grind) nil nil)) nil)
                 ("2" (assertnil nil))
                nil))
              nil))
            nil))
          nil))
        nil))
      nil))
    nil)
   ((posnat nonempty-type-eq-decl nil integers nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (int nonempty-type-eq-decl nil integers nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (> const-decl "bool" reals nil)
    (bool nonempty-type-eq-decl nil booleans 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)
    (- const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (rel_prime_inverse formula-decl nil gcd "ints/")
    (rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (int_plus_int_is_int application-judgement "int" integers nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (nonneg_floor_is_nat application-judgement "nat" floor_ceil nil)
    (nnint_times_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (int_minus_int_is_int application-judgement "int" integers nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (below type-eq-decl nil naturalnumbers nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (mult_divides1 application-judgement "(divides(n))" divides nil)
    (mult_divides2 application-judgement "(divides(m))" divides nil)
    (nil application-judgement "below(m)" mod nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (/= const-decl "boolean" notequal nil)
    (nonzero_integer nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (mod const-decl "{k | abs(k) < abs(j)}" mod nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (mod_by1 formula-decl nil mod_lems "ints/")
    (rel_prime const-decl "bool" gcd "ints/")
    (gcd const-decl "{k: posnat | divides(k, i) AND divides(k, j)}" gcd
         "ints/")
    (divides const-decl "bool" divides nil)
    (a1 skolem-const-decl "nat" chinese_remainder nil)
    (m1 skolem-const-decl "posnat" chinese_remainder nil)
    (m2 skolem-const-decl "posnat" chinese_remainder nil)
    (real_lt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (NOT const-decl "[bool -> bool]" booleans nil))
   shostak))
 (chinese_remainder_TCC1 0
  (chinese_remainder_TCC1-1 nil 3542993111 ("" (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)
    (> const-decl "bool" reals nil)
    (rational_pred const-decl "[real -> boolean]" rationals nil)
    (rational nonempty-type-from-decl nil rationals nil)
    (integer_pred const-decl "[rational -> boolean]" integers nil)
    (int nonempty-type-eq-decl nil integers nil)
    (>= const-decl "bool" reals nil)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (< const-decl "bool" reals nil)
    (nat nonempty-type-eq-decl nil naturalnumbers nil)
    (below type-eq-decl nil naturalnumbers 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)
    (/= const-decl "boolean" notequal nil))
   nil))
 (chinese_remainder 0
  (chinese_remainder-1 nil 3543049857
   (""
    (case "FORALL (N: nat, aseq: [nat -> nat], mseq: [nat -> posnat]):
               (FORALL (i, j: below(N+2)):
                  i /= j IMPLIES rel_prime(mseq(i), mseq(j)))
                IMPLIES
                (EXISTS (k: nat):
                   FORALL (i: below(N+2)): mod(aseq(i), mseq(i)) = mod(k, mseq(i)))")
    (("1" (skeep)
      (("1" (case "N = 1")
        (("1" (inst + "aseq(0)")
          (("1" (skosimp*) (("1" (assertnil nil)) nil)) nil)
         ("2" (inst - "N-2" "aseq" "mseq")
          (("1" (assert) (("1" (ground) nil nil)) nil)
           ("2" (assertnil nil))
          nil))
        nil))
      nil)
     ("2" (hide 2)
      (("2" (induct "N")
        (("1" (lemma "chinese_remainder_base")
          (("1" (skeep)
            (("1" (inst - "aseq(0)" "aseq(1)" "mseq(0)" "mseq(1)")
              (("1" (assert)
                (("1" (ground)
                  (("1" (skosimp*)
                    (("1" (inst + "k!1")
                      (("1" (skosimp*)
                        (("1" (case "i!1 = 0 OR i!1=1")
                          (("1" (ground) nil nil)
                           ("2" (flatten) (("2" (assertnil nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (inst - "0" "1") (("2" (assertnil nil)) nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("2" (skolem 1 "N")
          (("2" (flatten)
            (("2" (skeep)
              (("2" (inst - "aseq" "mseq")
                (("2" (split -)
                  (("1" (skosimp*)
                    (("1"
                      (case "EXISTS (t:nat): mod(k!1+t*product(0,1+N,LAMBDA (i:nat): mseq(i)),mseq(2+N)) = mod(aseq(2+N),mseq(2+N))")
                      (("1" (skeep -1)
                        (("1" (invoke (name "kn" "%1") (! -1 1 1))
                          (("1" (replace -1)
                            (("1" (inst + "kn")
                              (("1"
                                (skosimp*)
                                (("1"
                                  (case "i!1 = 2+N")
                                  (("1"
                                    (replace -1)
                                    (("1" (assertnil nil))
                                    nil)
                                   ("2"
                                    (inst - "i!1")
                                    (("1"
                                      (replace -3)
                                      (("1"
                                        (case
                                         "EXISTS (ZT:nat): kn = k!1 + t*ZT*mseq(i!1)")
                                        (("1"
                                          (skeep -1)
                                          (("1"
                                            (replace -1)
                                            (("1"
                                              (hide -)
                                              (("1"
                                                (lemma "mod_sum_pos")
                                                (("1"
                                                  (inst
                                                   -
                                                   "k!1"
                                                   "t*ZT"
                                                   "mseq(i!1)")
                                                  (("1"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil)
                                         ("2"
                                          (inst
                                           +
                                           "product(0,1+N,LAMBDA (i:nat): IF i = i!1 THEN 1 ELSE mseq(i) ENDIF)")
                                          (("2"
                                            (hide-all-but (1 2))
                                            (("2"
                                              (expand "kn")
                                              (("2"
                                                (case
                                                 "FORALL (jj:nat): product(0, 1 + jj, LAMBDA (i: nat): mseq(i)) =
       (IF i!1 <= 1+jj THEN mseq(i!1) ELSE 1 ENDIF) *
        product(0, 1 + jj,
                LAMBDA (i: nat): IF i = i!1 THEN 1 ELSE mseq(i) ENDIF)")
                                                (("1"
                                                  (inst?)
                                                  (("1"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil)
                                                 ("2"
                                                  (hide 2)
                                                  (("2"
                                                    (induct "jj")
                                                    (("1"
                                                      (assert)
                                                      (("1"
                                                        (expand
                                                         "product")
                                                        (("1"
                                                          (expand
                                                           "product")
                                                          (("1"
                                                            (expand
                                                             "product")
                                                            (("1"
                                                              (assert)
                                                              (("1"
                                                                (lift-if)
                                                                (("1"
                                                                  (lift-if)
                                                                  (("1"
                                                                    (lift-if)
                                                                    (("1"
                                                                      (lift-if)
                                                                      (("1"
                                                                        (lift-if)
                                                                        (("1"
                                                                          (lift-if)
                                                                          (("1"
                                                                            (lift-if)
                                                                            (("1"
                                                                              (assert)
                                                                              nil
                                                                              nil))
                                                                            nil))
                                                                          nil))
                                                                        nil))
                                                                      nil))
                                                                    nil))
                                                                  nil))
                                                                nil))
                                                              nil))
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil)
                                                     ("2"
                                                      (skeep)
                                                      (("2"
                                                        (assert)
                                                        (("2"
                                                          (expand
                                                           "product"
                                                           +)
                                                          (("2"
                                                            (replace
                                                             -1)
                                                            (("2"
                                                              (hide -)
                                                              (("2"
                                                                (lift-if)
                                                                (("2"
                                                                  (lift-if)
                                                                  (("2"
                                                                    (lift-if)
                                                                    (("2"
                                                                      (lift-if)
                                                                      (("2"
                                                                        (lift-if)
                                                                        (("2"
                                                                          (lift-if)
                                                                          (("2"
                                                                            (lift-if)
                                                                            (("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" (assertnil nil))
                                    nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil)
                       ("2" (lemma "rel_prime_inverse")
                        (("2"
                          (inst - "mseq(2+N)"
                           "product(0, 1 + N, LAMBDA (i: nat): mseq(i))")
                          (("2" (split -)
                            (("1"
                              (inst - "mod(aseq(2+N)-k!1,mseq(2+N))")
                              (("1"
                                (skolem -1 "t")
                                (("1"
                                  (inst + "t")
                                  (("1"
                                    (hide (-2 -3 2))
                                    (("1"
                                      (grind :exclude "product")
                                      nil
                                      nil))
                                    nil))
                                  nil))
                                nil))
                              nil)
                             ("2" (case "NOT mseq(2+N) = 1")
                              (("1" (assertnil nil)
                               ("2"
                                (replace -1)
                                (("2" (assertnil nil))
                                nil))
                              nil)
                             ("3" (hide-all-but (-2 1))
                              (("3"
                                (case
                                 "FORALL (jj:nat): jj<=N IMPLIES rel_prime(product(0, 1 + jj, LAMBDA (i: nat): mseq(i)), mseq(2 + N))")
                                (("1"
                                  (inst?)
                                  (("1" (assertnil nil))
                                  nil)
                                 ("2"
                                  (hide 2)
                                  (("2"
                                    (induct "jj")
                                    (("1"
                                      (assert)
                                      (("1"
                                        (expand "product")
                                        (("1"
                                          (expand "product")
                                          (("1"
                                            (expand "product")
                                            (("1"
                                              (lemma
                                               "rel_prime_mult_left")
                                              (("1"
                                                (inst?)
                                                (("1"
                                                  (assert)
                                                  (("1"
                                                    (inst-cp
                                                     -
                                                     "1"
                                                     "2+N")
                                                    (("1"
                                                      (inst
                                                       -
                                                       "0"
                                                       "2+N")
                                                      (("1"
                                                        (assert)
                                                        (("1"
                                                          (replace -1)
                                                          (("1"
                                                            (propax)
                                                            nil
                                                            nil))
                                                          nil))
                                                        nil))
                                                      nil))
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("2"
                                      (skeep)
                                      (("2"
                                        (assert)
                                        (("2"
                                          (expand "product" +)
                                          (("2"
                                            (lemma
                                             "rel_prime_mult_left")
                                            (("2"
                                              (inst?)
                                              (("2"
                                                (assert)
                                                (("2"
                                                  (inst - "2+j" "2+N")
                                                  (("2"
                                                    (assert)
                                                    nil
                                                    nil))
                                                  nil))
                                                nil))
                                              nil))
                                            nil))
                                          nil))
                                        nil))
                                      nil)
                                     ("3"
                                      (skeep)
                                      (("3" (assertnil nil))
                                      nil))
                                    nil))
                                  nil)
                                 ("3"
                                  (skeep)
                                  (("3" (assertnil nil))
                                  nil))
                                nil))
                              nil))
                            nil))
                          nil))
                        nil))
                      nil))
                    nil)
                   ("2" (skeep)
                    (("2" (inst - "i" "j") (("2" (assertnil nil))
                      nil))
                    nil))
                  nil))
                nil))
              nil))
            nil))
          nil)
         ("3" (hide 2) (("3" (skosimp*) (("3" (assertnil nil)) nil))
          nil))
        nil))
      nil)
     ("3" (hide 2) (("3" (skosimp*) (("3" (assertnil nil)) nil))
      nil))
    nil)
   ((posint_plus_nnint_is_posint application-judgement "posint"
     integers nil)
    (nnint_plus_nnint_is_nnint application-judgement "nonneg_int"
     integers nil)
    (<= const-decl "bool" reals nil)
    (T_low type-eq-decl nil product "reals/")
    (T_high type-eq-decl nil product "reals/")
    (product def-decl "real" product "reals/")
    (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)
    (IF const-decl "[boolean, T, T -> T]" if_def nil)
    (posint_times_posint_is_posint application-judgement "posint"
     integers nil)
    (kn skolem-const-decl "nonneg_int" chinese_remainder nil)
    (nnint_plus_posint_is_posint application-judgement "posint"
     integers nil)
    (odd_plus_even_is_odd application-judgement "odd_int" integers nil)
    (mod_sum_pos formula-decl nil mod nil)
    (i!1 skolem-const-decl "below(3 + N)" chinese_remainder nil)
    (N skolem-const-decl "nat" chinese_remainder 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)
    (prod_posnat application-judgement "posnat" product_nat "reals/")
    (prod_pr application-judgement "posreal" product_nat "reals/")
    (prod_nat application-judgement "nat" product_nat "reals/")
    (prod_nnr application-judgement "nnreal" product_nat "reals/")
    (rel_prime_mult_left formula-decl nil gcd "ints/")
    (mseq skolem-const-decl "[nat -> posnat]" chinese_remainder nil)
    (NOT const-decl "[bool -> bool]" booleans nil)
    (real_gt_is_strict_total_order name-judgement
     "(strict_total_order?[real])" real_props nil)
    (mod_by1 formula-decl nil mod_lems "ints/")
    (nonneg_floor_is_nat application-judgement "nat" floor_ceil nil)
    (nnrat_div_posrat_is_nnrat application-judgement "nonneg_rat"
     rationals nil)
    (rat_div_nzrat_is_rat application-judgement "rat" rationals nil)
    (rel_prime_inverse formula-decl nil gcd "ints/")
    (chinese_remainder_base formula-decl nil chinese_remainder nil)
    (* const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (OR const-decl "[bool, bool -> bool]" booleans nil)
    (nat_induction formula-decl nil naturalnumbers nil)
    (pred type-eq-decl nil defined_types 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 "[numfield, numfield -> numfield]" number_fields nil)
    (N skolem-const-decl "posnat" chinese_remainder nil)
    (nil application-judgement "below(m)" mod 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)
    (nonneg_int nonempty-type-eq-decl nil integers nil)
    (> const-decl "bool" reals nil)
    (posnat nonempty-type-eq-decl nil integers nil)
    (IMPLIES const-decl "[bool, bool -> bool]" booleans nil)
    (< const-decl "bool" reals nil)
    (numfield nonempty-type-eq-decl nil number_fields nil)
    (+ const-decl "[numfield, numfield -> numfield]" number_fields nil)
    (below type-eq-decl nil naturalnumbers nil)
    (/= const-decl "boolean" notequal nil)
    (= const-decl "[T, T -> boolean]" equalities nil)
    (rel_prime const-decl "bool" gcd "ints/")
    (nonzero_integer nonempty-type-eq-decl nil integers nil)
    (nonneg_real nonempty-type-eq-decl nil real_types nil)
    (AND const-decl "[bool, bool -> bool]" booleans nil)
    (- const-decl "[numfield -> numfield]" number_fields nil)
    (abs const-decl "{n: nonneg_real | n >= m AND n >= -m}" real_defs
         nil)
    (mod const-decl "{k | abs(k) < abs(j)}" mod nil))
   shostak)))


¤ Dauer der Verarbeitung: 0.31 Sekunden  (vorverarbeitet)  ¤





Druckansicht
unsichere Verbindung
Druckansicht
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



                                                                                                                                                                                                                                                                                                                                                                                                     


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