В coq, тактика destruct
имеет вариант, принимающий «конъюнктивный дизъюнктивный шаблон введения», который позволяет пользователю присваивать имена введенным переменным даже при распаковке сложных индуктивных типов.Как написать тактику, которая ведет себя как «destruct ... as»?
Язык Ltac в coq позволяет пользователю писать пользовательскую тактику. Я бы хотел написать (по правде говоря, сохранить) тактику, которая что-то делает, прежде чем передать управление destruct
.
Я бы хотел, чтобы моя пользовательская тактика позволяла (или требовала, в зависимости от того, что будет проще) пользователю предоставить шаблон внедрения, который моя тактика может передать destruct
.
Какой синтаксис Ltac выполняет это?
Спасибо! Надеюсь, вы не против, но я включил в ваш ответ еще один, более притягательный (но глупый) пример. – phs
Совсем нет! Сейчас намного лучше. –