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

Quellcode-Bibliothek

© Kompilation durch diese Firma

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

Datei: csequence_reverse.pvs   Sprache: PVS

Original von: PVS©

more_list_props[T: TYPE]: THEORY
BEGIN
  x: VAR T
  l1, l2, l3: VAR list[T]
  P, Q: VAR PRED[T]
  i: VAR nat

  append1(l1, x): list[T] = append(l1, cons(x, null))

  length_parm: LEMMA
     FORALL (pl: list[(P)]):
      length[(P)](pl) = length[T](pl)

  nth_parm: LEMMA
     FORALL (pl: list[(P)], (n:below[length(pl)])):
      nth[(P)](pl, n) = nth[T](pl, n)

  every_parm: LEMMA
     FORALL (pl: list[(P)]):
      every[(P)](Q)(pl) = every[T](Q)(pl)

  append_parm: LEMMA
     FORALL (l1, l2: list[(P)]):
      append[(P)](l1, l2) = append[T](l1, l2)
       

  append_append_cons: LEMMA
    append(l1, cons(x, l2)) = append(append(l1, cons(x, null)), l2)

  append_equal_null: LEMMA append(l1, l2) = l2 => l1 = null

  nth_append_below: LEMMA
    i < length(l1) => nth(append(l1, l2), i) = nth(l1, i)

  nth_append_above: LEMMA
    i >= length(l1) and i < length(append(l1, l2)) => nth(append(l1, l2), i) = nth(l2, i - length(l1))

  tail?(l1, l2): recursive bool =
    if null?(l1)
    then null?(l2)
    else l1 = l2 or tail?(cdr(l1), l2)
    endif
   measure l1 by <<

  tail_append: lemma tail?(append(l1, l2), l2)

  ldiff(l1, (l2 | tail?(l1, l2))): recursive list[T] =
    if l1 = l2
    then null
    else cons(car(l1), ldiff(cdr(l1), l2))
    endif
   measure l1 by <<

  ldiff_append: lemma forall (l1, l2): ldiff(append(l1, l2), l2) = l1

END more_list_props

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

Eigene Datei ansehen




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