При реализации сложной тактики в Ltac есть некоторые команды Ltac или вызов тактики, которые, как я ожидаю, потерпят неудачу и где это ожидается (например, чтобы завершить repeat
или вызвать обратное отслеживание). Эти сбои обычно возникают на уровне сбоя 0.
Сбои, возникающие на более высоком уровне, «ускользают» от окружающего блока try
или repeat
и полезны для сигнализации о неожиданных сбоях.
Чего мне не хватает, так это способа запустить тактику tac
и обработать ее неудачу, даже на уровне 0, на более высоком уровне, сохраняя при этом сообщение об ошибке. Это позволило бы мне убедиться, что repeat
не завершится из-за ошибки программирования Ltac на моей стороне.
Могу ли я реализовать в Ltac такую тактику более высокого уровня повышения уровня неудач?