This structure contains functions for sequences of sequences.
List of Import References :
See BOOL
See DENOTATION
See Nat
See Option
See Seq
SIGNATURE SeqOfSeq[data]
$Date: 2010-09-30 18:24:17 +0200 (Do, 30. Sep 2010) $ ($Revision: 616 $)
IMPORT Seq[data] ONLY seq ++ <> Seq[seq[data]] ONLY seq
SORT data
Concatenate sequences (flatten the structure)
FUN flat : seq[seq[data]]->seq[data]
partition(~)(s)
gives a partition of the sequence, if
~
is an equivalence relation.
FUN partition: (data ** data -> bool) -> seq[data] -> seq[seq[data]]
inits
and tails
return all prefix sequences and
postfix seqences respectively
FUN inits tails: seq[data] -> seq[seq[data]]
Returns all permutations of the datas in the sequence.
FUN permutations: seq[data] -> seq[seq[data]]
Transpose sequences: ALL i j. (S!i)!j = (transpose(S)!j)!i. All sequences must be of equal length.
FUN transpose: seq[seq[data]] -> seq[seq[data]]
Construct the "cross product" of the input sequences. For input
<A, B, ..., Z>
, where A, B, ..., Z
are sequences,
return all sequences <a, b, ..., z>
, such that a in A
,
b in B
, ..., z in Z
.
Returns the empty sequence if at least one of A, B, ..., Z
is
the empty sequence.
FUN combinations: seq[seq[data]] -> seq[seq[data]]
next node: Seqs,
prev node: SeqZip,
up to node: Subsystem Sequences Proper