CADiZ

Reference manual / Z-related commands / Proof rule commands / mu


The mu command applies a proof rule to a goal involving a definite description (\mu) expression.

\exists1 s @ true \vdash? p1(\exists s @ p2[e/(\mu s @ e)])
\exists1 s @ true \vdash? p1(p2(\mu s @ e))

The unique existential antecedent must be selected first and crossed. The predicate p2, which contains the definite description expression but need not be the entire consequent p1, must then be selected and crossed. The definite description expression itself must then be selected and inspected. The proof rule is not applicable if there are any names in the schema s that refer to declarations that are in p1 but not in p2.

The mu command is similarly applicable if the predicate p1 is an antecedent.

| \exists1 s @ true, p1(\exists s @ p2[e/(\mu s @ e)]) \vdash?


| \exists1 s @ true, p1(p2(\mu s @ e)) \vdash?

The unique existential is necessary to ensure that the definite description expression is defined. It will probably have to be cut apart before this rule can be used. A variant of this rule that generates the unique existential automatically as a side-condition is provided by the mu tac command.

Tactic example

"mu" p3 p2 e2

This example applies the mu command to unique existential antecedent p3, predicate p2, and mu expression e2.


IT 27-Sep-1999