FAIL_TAC : (string -> tactic)
?- x => T | Tthe tactic
REWRITE_TAC[] THEN FAIL_TAC `Simple rewriting failed to solve goal`will fail with the message provided, whereas:
CONV_TAC COND_CONV THEN FAIL_TAC `Using COND_CONV failed to solve goal`will silently solve the goal because COND_CONV reduces it to just ?- T.