next node: Seqs,
prev node: SeqZip,
up to node: Subsystem Sequences Proper


SeqOfSeq

This structure contains functions for sequences of sequences.

Signature of SeqOfSeq

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

Parameter

SORT data

Combining Sequences of Sequences

Concatenate sequences (flatten the structure)

FUN flat : seq[seq[data]]->seq[data]

Constructing Sequences of Sequences

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]]

Working on Sequences of Sequences

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