It is possible to filter proof tactics by doing what follows:
The filter position in the command list does not matter.
It is also possible to combine the two filters above to apply commands only to proof obligations of a given operation (or clause) whose goal matches some formula.
Let us consider, for instance, the following User_Pass theory:
The first command line to be used on the unproved proof obligations of operation op0 will be:
To the proof obligations that remain unproved after applying this first command line and whose goal matches pattern x = y, the following command line will be applied:
Finally, the last command line will be used on the remaining unproved proof obligations of operation op1 and whose goal matches pattern x ∈ X:
The advantage of using filters is that it prevents from uselessly attempting to apply commands to proof obligations, when it is known to be unsuccessful (particularly because of the goal form).