%----------------------------------------------------------------------------- % Extraction of contiguous subsequences of a sequence of countable length. % % Author: Jerry James <loganjerry@gmail.com> % % This file and its accompanying proof file are distributed under the CC0 1.0 % Universal license: http://creativecommons.org/publicdomain/zero/1.0/. % % Version history: % 2007 Feb 14: PVS 4.0 version % 2011 May 6: PVS 5.0 version % 2013 Jan 14: PVS 6.0 version %-----------------------------------------------------------------------------
csequence_extract[T: TYPE]: THEORY BEGIN
IMPORTING csequence_nth[T] IMPORTING csequence_add[T] % Proofs only
t: VAR T
p: VAR pred[T]
index, n, m: VAR nat
range, range2: VAR [nat, nat]
cseq, cseq1, cseq2: VAR csequence
fseq: VAR finite_csequence
nfseq: VAR nonempty_finite_csequence
^(cseq, range): RECURSIVE finite_csequence = LET (m, n) = range IN IF empty?(cseq) OR m > n THEN empty_cseq ELSIF m > 0 THEN rest(cseq) ^ (m - 1, n - 1) ELSE add(first(cseq), IF n = 0 THEN empty_cseq ELSE rest(cseq) ^ (m, n - 1) ENDIF) ENDIF MEASURE range`2
extract_add: THEOREM FORALL cseq, t, m, n:
add(t, cseq) ^ (m, n) = IF m > n THEN empty_cseq ELSIF m > 0 THEN cseq ^ (m - 1, max(0, n - 1)) ELSIF n > 0 THEN add(t, cseq ^ (m, n - 1)) ELSE add(t, empty_cseq) ENDIF
extract_last: THEOREM FORALL cseq, m, n: nonempty?(cseq ^ (m, n)) IMPLIES
last(cseq ^ (m, n)) = IF index?(cseq)(n) THEN nth(cseq, n) ELSE last(cseq) ENDIF
extract_some: THEOREM FORALL cseq, m, n, p:
some(p)(cseq ^ (m, n)) IFF
(EXISTS index:
m <= index AND
index <= n AND index?(cseq)(index) AND p(nth(cseq, index)))
extract_every: THEOREM FORALL cseq, m, n, p:
every(p)(cseq ^ (m, n)) IFF
(FORALL index:
m <= index AND index <= n AND index?(cseq)(index) IMPLIES
p(nth(cseq, index)))
END csequence_extract
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
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.