Let's say I have some complex tactics in the body of a match goal
branch that can easily go wrong in a way I might need to debug. Is there a way to get the "real" error message from the branch if some tactic fails, rather than simply getting "Error: No matching clauses for match goal"?
Take as an example this fake tactic where apply A, B, C
has several chances for something to go wrong. I've been fighting with a real tactic somewhat similar to this today.
Ltac three_applications :=
match goal with
| [
A : (* something reasonable *),
B : (* something reasonable *),
C : (* something reasonable *)
|- _ ] =>
idtac A B C;
assert (F: (* something reasonable *))
by apply A, B, C;
solve [discriminate F]
end.
Thank you in advance!