Commit c8079d98 authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Version of `iModIntro` where one can specify the modality.

parent 4f9e0cd7
...@@ -962,9 +962,9 @@ Local Tactic Notation "iExistDestruct" constr(H) ...@@ -962,9 +962,9 @@ Local Tactic Notation "iExistDestruct" constr(H)
|revert y; intros x]. |revert y; intros x].
(** * Modality introduction *) (** * Modality introduction *)
Tactic Notation "iModIntro":= Tactic Notation "iModIntro" open_constr(M) :=
iStartProof; iStartProof;
eapply tac_modal_intro; eapply tac_modal_intro with M _ _ _ _;
[apply _ || [apply _ ||
fail "iModIntro: the goal is not a modality" fail "iModIntro: the goal is not a modality"
|apply _ || |apply _ ||
...@@ -982,6 +982,7 @@ Tactic Notation "iModIntro":= ...@@ -982,6 +982,7 @@ Tactic Notation "iModIntro":=
|env_cbv; apply _ || |env_cbv; apply _ ||
fail "iModIntro: cannot filter spatial context when goal is not absorbing" fail "iModIntro: cannot filter spatial context when goal is not absorbing"
|]. |].
Tactic Notation "iModIntro" := iModIntro _.
Tactic Notation "iAlways" := iModIntro. Tactic Notation "iAlways" := iModIntro.
(** * Later *) (** * Later *)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment