CADiZ

Reference manual / Z-related commands / Proof rule commands / sequence arguments


The sequence arguments command is applicable to applications of operators, in which some of the arguments are expression-lists, appearing in a goal. These expression-lists are represented as sets of pairs, exactly like the representation used for sequences in the toolkit. This command makes available the constraints that these sets of pairs are sequences as new antecedents in the sub-goal. For example, the application of sequence arguments to the operator application \langle 42, 6, 9 \rangle produces the following predicate as a new antecedent.

{(1,42), (2,6), (3,9)} \in
    { s : \power (\arithmos \cross \arithmos) |
    \exists n : \nat @
    { p : s @ p.1 }
    = { c : \nat | \lnot c = 0 \land \exists d : \nat @ c + d = n }
    \land (\forall p, q : s | p.1 = q.1 @ p.2 = q.2) )

Tactic example

"sequence arguments" e1 e2

This example applies the sequence arguments command to expressions e1 and e2.


IT 5-Nov-1999