У меня есть сценарий проверки, в котором я исследую несколько случаев, и в настоящее время он довольно медленный, поскольку у меня есть несколько стратегий для решения целей, и я пробую каждую из них в каждом случае.
Я знаю, что мне нужно применять определенную тактику в определенных случаях, но я не знаю, как это сделать.
Вот что у меня есть сейчас:
induction e;
intros;
pose (bool_dec (is_v_of_expr e1)) as ve1; destruct ve1;
[> thing1 | thing 2].
что дает ошибку Incorrect number of goals (expected 26 tactics, was given 2)
.
Я пытаюсь сделать thing1
в первой цели из destruct
и thing2
во второй цели из destruct
для каждого случая, сгенерированного индукцией.
Проблема в том, что induction
генерирует 13 подцелей, каждая из которых делится на 2 с помощью destruct
. Локальный селектор [> thing1 | thing2 ]
пытается сопоставить все подцели, а не только те, которые были созданы конкретной деструкцией.
Как я могу упорядочить тактику, чтобы destruct
выполнялось для каждого случая, сгенерированного индукцией, затем thing1
запускалось для первой цели, сгенерированной разрушением, и thing2
запускалось для второй сгенерированной цели для каждого случая индукции.