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
Iris
RefinedC
Commits
51b58582
Commit
51b58582
authored
Nov 24, 2021
by
Michael Sammler
Browse files
liUnfoldLetGoal also beneath bi_sep
parent
f6062611
Pipeline
#57811
passed with stage
in 11 minutes and 27 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
theories/lithium/interpreter.v
View file @
51b58582
...
...
@@ -308,16 +308,19 @@ Tactic Notation "li_let_bind" constr(T) tactic3(tac) :=
(* unfold_let_goal_tac lets users unfold custom definitions. *)
Ltac
unfold_let_goal_tac
H
:
=
idtac
.
Ltac
liUnfoldLetGoal
:
=
match
goal
with
|
|-
envs_entails
_
?P
=>
let
H
:
=
get_head
P
in
is_var
H
;
unfold
LET_ID
in
H
;
unfold_let_goal_tac
H
;
(* This unfold inserts a cast but that is not too bad for
performance since the goal is small at this point. *)
unfold
H
;
try
clear
H
let
do_unfold
P
:
=
let
H
:
=
get_head
P
in
is_var
H
;
unfold
LET_ID
in
H
;
unfold_let_goal_tac
H
;
(* This unfold inserts a cast but that is not too bad for
performance since the goal is small at this point. *)
unfold
H
;
try
clear
H
in
lazymatch
goal
with
|
|-
envs_entails
_
(
?P
∗
_
)
=>
do_unfold
P
|
|-
envs_entails
_
?P
=>
do_unfold
P
end
.
Ltac
liUnfoldLetsContaining
H
:
=
...
...
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