Skip to content
Snippets Groups Projects
Verified Commit cec53bd4 authored by Paolo G. Giarrusso's avatar Paolo G. Giarrusso
Browse files

tactic->tactic3 for remaining tactics

parent c9418149
No related branches found
No related tags found
No related merge requests found
...@@ -443,8 +443,8 @@ Tactic failure: iModIntro: spatial context is non-empty. ...@@ -443,8 +443,8 @@ Tactic failure: iModIntro: spatial context is non-empty.
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iDestruct (open_constr) as (constr)", In nested Ltac calls to "iDestruct (open_constr) as (constr)",
"iDestructCore (open_constr) as (constr) (tactic)" and "iDestructCore (open_constr) as (constr) (tactic3)" and
"iDestructCore (open_constr) as (constr) (tactic)", last call failed. "iDestructCore (open_constr) as (constr) (tactic3)", last call failed.
Tactic failure: iDestruct: "HQ" not found. Tactic failure: iDestruct: "HQ" not found.
"iIntros_dup_name" "iIntros_dup_name"
: string : string
...@@ -553,14 +553,14 @@ Tactic failure: iStartProof: not a BI assertion. ...@@ -553,14 +553,14 @@ Tactic failure: iStartProof: not a BI assertion.
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iPoseProof (open_constr) as (constr)", In nested Ltac calls to "iPoseProof (open_constr) as (constr)",
"iPoseProofCore (open_constr) as (constr) (constr) (tactic)", "iPoseProofCore (open_constr) as (constr) (constr) (tactic3)",
"iPoseProofCoreLem (constr) as (constr) before_tc (tactic)" and "iPoseProofCoreLem (constr) as (constr) before_tc (tactic3)" and
"<iris.proofmode.ltac_tactics.iIntoEmpValid>", last call failed. "<iris.proofmode.ltac_tactics.iIntoEmpValid>", last call failed.
Tactic failure: iPoseProof: not a BI assertion. Tactic failure: iPoseProof: not a BI assertion.
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iPoseProof (open_constr) as (constr)", In nested Ltac calls to "iPoseProof (open_constr) as (constr)",
"iPoseProofCore (open_constr) as (constr) (constr) (tactic)", "iPoseProofCore (open_constr) as (constr) (constr) (tactic3)",
"iPoseProofCoreLem (constr) as (constr) before_tc (tactic)", "iPoseProofCoreLem (constr) as (constr) before_tc (tactic3)",
"tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]), "tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]),
"tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]), "tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]),
"tac" (bound to fun H => iDestructHyp H as pat), "tac" (bound to fun H => iDestructHyp H as pat),
...@@ -573,15 +573,15 @@ Tactic failure: iRename: "H" not fresh. ...@@ -573,15 +573,15 @@ Tactic failure: iRename: "H" not fresh.
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iPoseProof (open_constr) as (constr)", In nested Ltac calls to "iPoseProof (open_constr) as (constr)",
"iPoseProofCore (open_constr) as (constr) (constr) (tactic)" and "iPoseProofCore (open_constr) as (constr) (constr) (tactic3)" and
"iPoseProofCoreHyp (constr) as (constr)", last call failed. "iPoseProofCoreHyp (constr) as (constr)", last call failed.
Tactic failure: iPoseProof: "Hx" not found. Tactic failure: iPoseProof: "Hx" not found.
"iPoseProof_not_found_fail2" "iPoseProof_not_found_fail2"
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iPoseProof (open_constr) as (constr)", In nested Ltac calls to "iPoseProof (open_constr) as (constr)",
"iPoseProofCore (open_constr) as (constr) (constr) (tactic)", "iPoseProofCore (open_constr) as (constr) (constr) (tactic3)",
"iPoseProofCoreLem (constr) as (constr) before_tc (tactic)", "iPoseProofCoreLem (constr) as (constr) before_tc (tactic3)",
"tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]), "tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]),
"tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]), "tac" (bound to spec_tac ltac:(()); [ .. | tac Htmp ]),
"spec_tac" (bound to "spec_tac" (bound to
...@@ -616,9 +616,9 @@ Tactic failure: iElaborateSelPat: "H" not found. ...@@ -616,9 +616,9 @@ Tactic failure: iElaborateSelPat: "H" not found.
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iDestruct (open_constr) as (constr)", In nested Ltac calls to "iDestruct (open_constr) as (constr)",
"iDestructCore (open_constr) as (constr) (tactic)", "iDestructCore (open_constr) as (constr) (tactic3)",
"iDestructCore (open_constr) as (constr) (tactic)", "iDestructCore (open_constr) as (constr) (tactic3)",
"iDestructCore (open_constr) as (constr) (tactic)", "iDestructCore (open_constr) as (constr) (tactic3)",
"tac" (bound to fun H => iDestructHyp H as pat), "tac" (bound to fun H => iDestructHyp H as pat),
"iDestructHyp (constr) as (constr)", "iDestructHyp (constr) as (constr)",
"<iris.proofmode.ltac_tactics.iDestructHypFindPat>" and "<iris.proofmode.ltac_tactics.iDestructHypFindPat>" and
...@@ -627,9 +627,9 @@ Tactic failure: iDestruct: "{HP}" ...@@ -627,9 +627,9 @@ Tactic failure: iDestruct: "{HP}"
should contain exactly one proper introduction pattern. should contain exactly one proper introduction pattern.
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iDestruct (open_constr) as (constr)", In nested Ltac calls to "iDestruct (open_constr) as (constr)",
"iDestructCore (open_constr) as (constr) (tactic)", "iDestructCore (open_constr) as (constr) (tactic3)",
"iDestructCore (open_constr) as (constr) (tactic)", "iDestructCore (open_constr) as (constr) (tactic3)",
"iDestructCore (open_constr) as (constr) (tactic)", "iDestructCore (open_constr) as (constr) (tactic3)",
"tac" (bound to fun H => iDestructHyp H as pat), "tac" (bound to fun H => iDestructHyp H as pat),
"iDestructHyp (constr) as (constr)", "iDestructHyp (constr) as (constr)",
"<iris.proofmode.ltac_tactics.iDestructHypFindPat>" and "<iris.proofmode.ltac_tactics.iDestructHypFindPat>" and
...@@ -648,7 +648,7 @@ Tactic failure: iOrDestruct: "H1" or "H'" not fresh. ...@@ -648,7 +648,7 @@ Tactic failure: iOrDestruct: "H1" or "H'" not fresh.
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iApply (open_constr)", In nested Ltac calls to "iApply (open_constr)",
"iPoseProofCore (open_constr) as (constr) (constr) (tactic)", "iPoseProofCore (open_constr) as (constr) (constr) (tactic3)",
"tac" (bound to fun H => iApplyHyp H) and "iApplyHyp (constr)", last call "tac" (bound to fun H => iApplyHyp H) and "iApplyHyp (constr)", last call
failed. failed.
Tactic failure: iApply: cannot apply P. Tactic failure: iApply: cannot apply P.
...@@ -656,7 +656,7 @@ Tactic failure: iApply: cannot apply P. ...@@ -656,7 +656,7 @@ Tactic failure: iApply: cannot apply P.
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iApply (open_constr)", In nested Ltac calls to "iApply (open_constr)",
"iPoseProofCore (open_constr) as (constr) (constr) (tactic)", "iPoseProofCore (open_constr) as (constr) (constr) (tactic3)",
"tac" (bound to fun H => iApplyHyp H) and "iApplyHyp (constr)", last call "tac" (bound to fun H => iApplyHyp H) and "iApplyHyp (constr)", last call
failed. failed.
Tactic failure: iApply: Q Tactic failure: iApply: Q
...@@ -665,7 +665,7 @@ not absorbing and the remaining hypotheses not affine. ...@@ -665,7 +665,7 @@ not absorbing and the remaining hypotheses not affine.
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iApply (open_constr)", In nested Ltac calls to "iApply (open_constr)",
"iPoseProofCore (open_constr) as (constr) (constr) (tactic)", "iPoseProofCore (open_constr) as (constr) (constr) (tactic3)",
"tac" (bound to fun H => iApplyHyp H) and "iApplyHyp (constr)", last call "tac" (bound to fun H => iApplyHyp H) and "iApplyHyp (constr)", last call
failed. failed.
Tactic failure: iApply: Q Tactic failure: iApply: Q
......
...@@ -111,20 +111,20 @@ ...@@ -111,20 +111,20 @@
: string : string
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iInv (constr) as (constr)", In nested Ltac calls to "iInv (constr) as (constr)",
"iInvCore (constr) in (tactic)" and "iInvCore (constr) in (tactic3)" and
"iInvCore (constr) with (constr) as (open_constr) in (tactic)", last call "iInvCore (constr) with (constr) as (open_constr) in (tactic3)", last call
failed. failed.
Tactic failure: iInv: selector 34 is not of the right type . Tactic failure: iInv: selector 34 is not of the right type .
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iInv (constr) as (constr)", In nested Ltac calls to "iInv (constr) as (constr)",
"iInvCore (constr) in (tactic)" and "iInvCore (constr) in (tactic3)" and
"iInvCore (constr) with (constr) as (open_constr) in (tactic)", last call "iInvCore (constr) with (constr) as (open_constr) in (tactic3)", last call
failed. failed.
Tactic failure: iInv: invariant nroot not found. Tactic failure: iInv: invariant nroot not found.
The command has indeed failed with message: The command has indeed failed with message:
In nested Ltac calls to "iInv (constr) as (constr)", In nested Ltac calls to "iInv (constr) as (constr)",
"iInvCore (constr) in (tactic)" and "iInvCore (constr) in (tactic3)" and
"iInvCore (constr) with (constr) as (open_constr) in (tactic)", last call "iInvCore (constr) with (constr) as (open_constr) in (tactic3)", last call
failed. failed.
Tactic failure: iInv: invariant "H2" not found. Tactic failure: iInv: invariant "H2" not found.
"test_iInv" "test_iInv"
......
...@@ -726,7 +726,7 @@ Tactic Notation "iPoseProofCoreHyp" constr(H) "as" constr(Hnew) := ...@@ -726,7 +726,7 @@ Tactic Notation "iPoseProofCoreHyp" constr(H) "as" constr(Hnew) :=
end. end.
Tactic Notation "iPoseProofCoreLem" Tactic Notation "iPoseProofCoreLem"
constr(lem) "as" constr(Hnew) "before_tc" tactic(tac) := constr(lem) "as" constr(Hnew) "before_tc" tactic3(tac) :=
eapply tac_pose_proof with Hnew _; (* (j:=H) *) eapply tac_pose_proof with Hnew _; (* (j:=H) *)
[iIntoEmpValid lem [iIntoEmpValid lem
|pm_reduce; |pm_reduce;
...@@ -1015,7 +1015,7 @@ Both variants of [lazy_tc] are used in other tactics that build on top of ...@@ -1015,7 +1015,7 @@ Both variants of [lazy_tc] are used in other tactics that build on top of
because it may be not possible to eliminate logical connectives before all because it may be not possible to eliminate logical connectives before all
type class constraints have been resolved. *) type class constraints have been resolved. *)
Tactic Notation "iPoseProofCore" open_constr(lem) Tactic Notation "iPoseProofCore" open_constr(lem)
"as" constr(p) constr(lazy_tc) tactic(tac) := "as" constr(p) constr(lazy_tc) tactic3(tac) :=
iStartProof; iStartProof;
let Htmp := iFresh in let Htmp := iFresh in
let t := lazymatch lem with ITrm ?t ?xs ?pat => t | _ => lem end in let t := lazymatch lem with ITrm ?t ?xs ?pat => t | _ => lem end in
...@@ -1710,7 +1710,7 @@ Instance copy_destruct_affinely {PROP : bi} (P : PROP) : ...@@ -1710,7 +1710,7 @@ Instance copy_destruct_affinely {PROP : bi} (P : PROP) :
Instance copy_destruct_persistently {PROP : bi} (P : PROP) : Instance copy_destruct_persistently {PROP : bi} (P : PROP) :
CopyDestruct P CopyDestruct (<pers> P) := {}. CopyDestruct P CopyDestruct (<pers> P) := {}.
Tactic Notation "iDestructCore" open_constr(lem) "as" constr(p) tactic(tac) := Tactic Notation "iDestructCore" open_constr(lem) "as" constr(p) tactic3(tac) :=
let ident := let ident :=
lazymatch type of lem with lazymatch type of lem with
| ident => constr:(Some lem) | ident => constr:(Some lem)
...@@ -1869,7 +1869,7 @@ result in the following actions: ...@@ -1869,7 +1869,7 @@ result in the following actions:
- Introduce the spatial hypotheses and intuitionistic hypotheses involving [x] - Introduce the spatial hypotheses and intuitionistic hypotheses involving [x]
- Introduce the proofmode hypotheses [Hs] - Introduce the proofmode hypotheses [Hs]
*) *)
Tactic Notation "iInductionCore" tactic(tac) "as" constr(IH) := Tactic Notation "iInductionCore" tactic3(tac) "as" constr(IH) :=
let rec fix_ihs rev_tac := let rec fix_ihs rev_tac :=
lazymatch goal with lazymatch goal with
| H : context [envs_entails _ _] |- _ => | H : context [envs_entails _ _] |- _ =>
...@@ -2144,7 +2144,7 @@ Tactic Notation "iLöb" "as" constr (IH) "forall" "(" ident(x1) ident(x2) ...@@ -2144,7 +2144,7 @@ Tactic Notation "iLöb" "as" constr (IH) "forall" "(" ident(x1) ident(x2)
Boolean or an introduction pattern, which will be coerced into [true] if it Boolean or an introduction pattern, which will be coerced into [true] if it
only contains `#` or `%` patterns at the top-level, and [false] otherwise. *) only contains `#` or `%` patterns at the top-level, and [false] otherwise. *)
Tactic Notation "iAssertCore" open_constr(Q) Tactic Notation "iAssertCore" open_constr(Q)
"with" constr(Hs) "as" constr(p) tactic(tac) := "with" constr(Hs) "as" constr(p) tactic3(tac) :=
iStartProof; iStartProof;
let pats := spec_pat.parse Hs in let pats := spec_pat.parse Hs in
lazymatch pats with lazymatch pats with
...@@ -2156,7 +2156,7 @@ Tactic Notation "iAssertCore" open_constr(Q) ...@@ -2156,7 +2156,7 @@ Tactic Notation "iAssertCore" open_constr(Q)
[pm_reduce; [pm_reduce;
iSpecializeCore H with hnil pats as p; [..|tac H]]. iSpecializeCore H with hnil pats as p; [..|tac H]].
Tactic Notation "iAssertCore" open_constr(Q) "as" constr(p) tactic(tac) := Tactic Notation "iAssertCore" open_constr(Q) "as" constr(p) tactic3(tac) :=
let p := intro_pat_intuitionistic p in let p := intro_pat_intuitionistic p in
lazymatch p with lazymatch p with
| true => iAssertCore Q with "[#]" as p tac | true => iAssertCore Q with "[#]" as p tac
...@@ -2314,7 +2314,7 @@ Tactic Notation "iAssumptionInv" constr(N) := ...@@ -2314,7 +2314,7 @@ Tactic Notation "iAssumptionInv" constr(N) :=
(* The argument [select] is the namespace [N] or hypothesis name ["H"] of the (* The argument [select] is the namespace [N] or hypothesis name ["H"] of the
invariant. *) invariant. *)
Tactic Notation "iInvCore" constr(select) "with" constr(pats) "as" open_constr(Hclose) "in" tactic(tac) := Tactic Notation "iInvCore" constr(select) "with" constr(pats) "as" open_constr(Hclose) "in" tactic3(tac) :=
iStartProof; iStartProof;
let pats := spec_pat.parse pats in let pats := spec_pat.parse pats in
lazymatch pats with lazymatch pats with
...@@ -2361,13 +2361,13 @@ Tactic Notation "iInvCore" constr(select) "with" constr(pats) "as" open_constr(H ...@@ -2361,13 +2361,13 @@ Tactic Notation "iInvCore" constr(select) "with" constr(pats) "as" open_constr(H
)]. )].
(* Without closing view shift *) (* Without closing view shift *)
Tactic Notation "iInvCore" constr(N) "with" constr(pats) "in" tactic(tac) := Tactic Notation "iInvCore" constr(N) "with" constr(pats) "in" tactic3(tac) :=
iInvCore N with pats as (@None string) in ltac:(tac). iInvCore N with pats as (@None string) in ltac:(tac).
(* Without pattern *) (* Without pattern *)
Tactic Notation "iInvCore" constr(N) "as" constr(Hclose) "in" tactic(tac) := Tactic Notation "iInvCore" constr(N) "as" constr(Hclose) "in" tactic3(tac) :=
iInvCore N with "[$]" as Hclose in ltac:(tac). iInvCore N with "[$]" as Hclose in ltac:(tac).
(* Without both *) (* Without both *)
Tactic Notation "iInvCore" constr(N) "in" tactic(tac) := Tactic Notation "iInvCore" constr(N) "in" tactic3(tac) :=
iInvCore N with "[$]" as (@None string) in ltac:(tac). iInvCore N with "[$]" as (@None string) in ltac:(tac).
(* With everything *) (* With everything *)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment