Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Iris
Iris
Commits
e8f8dae8
Commit
e8f8dae8
authored
Dec 15, 2018
by
Robbert Krebbers
Browse files
Move core of `iRevert` into a new (internal) tactic `iRevertHyp`.
parent
797337b1
Changes
1
Hide whitespace changes
Inline
Sidebyside
Showing
1 changed file
with
9 additions
and
7 deletions
+9
7
theories/proofmode/ltac_tactics.v
theories/proofmode/ltac_tactics.v
+9
7
No files found.
theories/proofmode/ltac_tactics.v
View file @
e8f8dae8
...
...
@@ 515,6 +515,13 @@ Local Tactic Notation "iForallRevert" ident(x) :=

_
=>
revert
x
;
first
[
apply
tac_forall_revert

err
x
]
end
.
Tactic
Notation
"iRevertHyp"
constr
(
H
)
:
=
eapply
tac_revert
with
_
H
_
_;
(* (i:=H2) *)
[
pm_reflexivity

let
H
:
=
pretty_ident
H
in
fail
"iRevert:"
H
"not found"

pm_reduce
].
Tactic
Notation
"iRevert"
constr
(
Hs
)
:
=
let
rec
go
Hs
:
=
lazymatch
Hs
with
...
...
@@ 522,12 +529,7 @@ Tactic Notation "iRevert" constr(Hs) :=

ESelPure
::
?Hs
=>
repeat
match
goal
with
x
:
_

_
=>
revert
x
end
;
go
Hs

ESelIdent
_
?H
::
?Hs
=>
eapply
tac_revert
with
_
H
_
_;
(* (i:=H2) *)
[
pm_reflexivity

let
H
:
=
pretty_ident
H
in
fail
"iRevert:"
H
"not found"

pm_reduce
;
go
Hs
]

ESelIdent
_
?H
::
?Hs
=>
iRevertHyp
H
;
go
Hs
end
in
iStartProof
;
let
Hs
:
=
iElaborateSelPat
Hs
in
go
Hs
.
...
...
@@ 1463,7 +1465,7 @@ Tactic Notation "iRevertIntros" constr(Hs) "with" tactic(tac) :=

[]
=>
tac

ESelPure
::
?Hs
=>
fail
"iRevertIntros: % not supported"

ESelIdent
?p
?H
::
?Hs
=>
iRevert
H
;
go
Hs
;
iRevert
Hyp
H
;
go
Hs
;
match
p
with

true
=>
iIntro
#
H

false
=>
iIntro
H
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment