SET_TACbossLib.SET_TAC : thm list -> tactic
Tactic to automate some routine pred_set theory by reduction to FOL, using the given theorems as additional assumptions in the search.
SET_TAC reduces basic set-theoretic operators
(IN, SUBSET, PSUBSET,
INTER, UNION, INSERT,
DELETE, REST, DISJOINT,
BIGINTER, BIGUNION, IMAGE,
SING and GSPEC) in the goal to their
definitions in first-order logic (FOL) and then call
METIS_TAC to solve it. With SET_TAC, many
simple set-theoretic results can be directly proved without finding
needed lemmas in pred_setTheory.
Fails if the underlying resolution machinery (METIS_TAC)
cannot prove the goal, or the supplied theorems are not enough for the
FOL reduction, e.g., when there are other set-theoretic operators in the
goal.
A simple theorem about disjoint sets:
Theorem DISJOINT_RESTRICT_L :
!s t c. DISJOINT s t ==> DISJOINT (s INTER c) (t INTER c)
Proof SET_TAC []
QED
SET_TAC can only progress the goal to a successful proof
of the (whole) goal or not at all. SET_RULE can be used to
prove an intermediate set-theoretic lemma (there is no way to provide
extra lemmas, however).
The assumptions of a goal are ignored when SET_TAC is
applied. To include assumptions use ASM_SET_TAC.