Suppose we want to prove Euclid’s theorem.
The classic proof is by contradiction. However, if we start such a
proof with CCONTR_TAC, we get the goal
   { ~!m. ?n. prime n /\ m < n } ?- F
 
and one would immediately want to simplify the assumption, which is a
bit awkward. Instead, an invocation SPOSE_NOT_THEN ASSUME_TAC yields
   { ?m. !n. ~prime n \/ ~(m < n) } ?- F
 
and SPOSE_NOT_THEN STRIP_ASSUME_TAC results in
   { !n. ~prime n \/ ~(m < n) } ?- F