Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Lennard Gäher
Iris
Commits
0dbc0ef4
Commit
0dbc0ef4
authored
Mar 12, 2021
by
Ralf Jung
Browse files
let users access iFrame helper tactics
parent
3fc3d3ff
Changes
1
Hide whitespace changes
Inline
Side-by-side
iris/proofmode/ltac_tactics.v
View file @
0dbc0ef4
...
...
@@ -371,21 +371,23 @@ Tactic Notation "iPureIntro" :=
|].
(** Framing *)
Local
Ltac
iFrameFinish
:
=
(** Helper tactics are exposed for users that build their own custom framing
logic *)
Ltac
iFrameFinish
:
=
pm_prettify
;
try
match
goal
with
|
|-
envs_entails
_
True
=>
by
iPureIntro
|
|-
envs_entails
_
emp
=>
iEmpIntro
end
.
Local
Ltac
iFramePure
t
:
=
Ltac
iFramePure
t
:
=
iStartProof
;
let
φ
:
=
type
of
t
in
eapply
(
tac_frame_pure
_
_
_
_
t
)
;
[
iSolveTC
||
fail
"iFrame: cannot frame"
φ
|
iFrameFinish
].
Local
Ltac
iFrameHyp
H
:
=
Ltac
iFrameHyp
H
:
=
iStartProof
;
eapply
tac_frame
with
H
_
_
_;
[
pm_reflexivity
||
...
...
@@ -396,10 +398,10 @@ Local Ltac iFrameHyp H :=
fail
"iFrame: cannot frame"
R
|
pm_reduce
;
iFrameFinish
].
Local
Ltac
iFrameAnyPure
:
=
Ltac
iFrameAnyPure
:
=
repeat
match
goal
with
H
:
_
|-
_
=>
iFramePure
H
end
.
Local
Ltac
iFrameAnyIntuitionistic
:
=
Ltac
iFrameAnyIntuitionistic
:
=
iStartProof
;
let
rec
go
Hs
:
=
match
Hs
with
[]
=>
idtac
|
?H
::
?Hs
=>
repeat
iFrameHyp
H
;
go
Hs
end
in
...
...
@@ -408,7 +410,7 @@ Local Ltac iFrameAnyIntuitionistic :=
let
Hs
:
=
eval
cbv
in
(
env_dom
(
env_intuitionistic
Δ
))
in
go
Hs
end
.
Local
Ltac
iFrameAnySpatial
:
=
Ltac
iFrameAnySpatial
:
=
iStartProof
;
let
rec
go
Hs
:
=
match
Hs
with
[]
=>
idtac
|
?H
::
?Hs
=>
try
iFrameHyp
H
;
go
Hs
end
in
...
...
Write
Preview
Supports
Markdown
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