The ++ function combines its two arguments and creates a new
simpset. This is a way of creating simpsets that are tailored to the
particular simplification task at hand.
FAILURE
Never fails.
EXAMPLE
Here we add the UNWIND_ss ssdata value to the pure_ss simpset to
exploit the former's point-wise elimination conversions.
- SIMP_CONV (pure_ss ++ boolSimps.UNWIND_ss) []
(Term`!x. x ==> (?y. P(x,y) /\ (y = 5))`);
> val it = |- (!x. x ==> (?y. P (x,y) /\ (y = 5))) = P (T,5) : thm
COMMENTS
The ++ identifier is not an infix by default, and so needs to be
declared as such at the ML top-level loop, e.g.: