Допустим, у меня есть причудливая тактика, позволяющая решать леммы определенного типа:
Ltac solveFancy :=
some_preparation;
repeat (first [important_step1 | important_step2];
some_cleanup);
solve_basecase.
Теперь я использую эту тактику для доказательства дальнейших лемм такого рода, которые я впоследствии хочу использовать в этой тактике.
Lemma fancy3 := …. Proof. … Qed.
Ltac important_step3 := apply fancy3;[some|specific|stuff].
Теперь я мог бы просто переопределить Ltac solveFancy ::= …
и добавить important_step3
в список, но это быстро устаревает.
Есть ли более элегантный способ расширить список important_step
-тактик в solveFancy
? Я представляю себе что-то вроде:
Add Hint SolveFancy important_step3.