Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Iris
Iris
Commits
2bc4df02
Commit
2bc4df02
authored
Jul 01, 2016
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use ndot_ne_disjoint more eager so it expands definitions.
parent
13117f43
Pipeline
#1879
passed with stage
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
6 additions
and
5 deletions
+6
-5
prelude/tactics.v
prelude/tactics.v
+5
-4
program_logic/namespaces.v
program_logic/namespaces.v
+1
-1
No files found.
prelude/tactics.v
View file @
2bc4df02
...
@@ -412,10 +412,11 @@ Tactic Notation "feed" "destruct" constr(H) "as" simple_intropattern(IP) :=
...
@@ -412,10 +412,11 @@ Tactic Notation "feed" "destruct" constr(H) "as" simple_intropattern(IP) :=
It will search for the first subterm of the goal matching [pat], and then call [tac]
It will search for the first subterm of the goal matching [pat], and then call [tac]
with that subterm. *)
with that subterm. *)
Ltac
find_pat
pat
tac
:
=
Ltac
find_pat
pat
tac
:
=
match
goal
with
|-
context
[
?x
]
=>
match
goal
with
unify
pat
x
with
typeclass_instances
;
|-
context
[
?x
]
=>
tryif
tac
x
then
idtac
else
fail
2
unify
pat
x
with
typeclass_instances
;
end
.
tryif
tac
x
then
idtac
else
fail
2
end
.
(** Coq's [firstorder] tactic fails or loops on rather small goals already. In
(** Coq's [firstorder] tactic fails or loops on rather small goals already. In
particular, on those generated by the tactic [unfold_elem_ofs] which is used
particular, on those generated by the tactic [unfold_elem_ofs] which is used
...
...
program_logic/namespaces.v
View file @
2bc4df02
...
@@ -64,7 +64,7 @@ End ndisjoint.
...
@@ -64,7 +64,7 @@ End ndisjoint.
(* The hope is that registering these will suffice to solve most goals
(* The hope is that registering these will suffice to solve most goals
of the form [N1 ⊥ N2] and those of the form [((N1 ⊆ E ∖ N2) ∖ ..) ∖ Nn]. *)
of the form [N1 ⊥ N2] and those of the form [((N1 ⊆ E ∖ N2) ∖ ..) ∖ Nn]. *)
Hint
Resolve
ndisj_subseteq_difference
:
ndisj
.
Hint
Resolve
ndisj_subseteq_difference
:
ndisj
.
Hint
Extern
0
(
_
.@
_
⊥
_
.@
_
)
=>
apply
ndot_ne_disjoint
;
congruence
:
ndisj
.
Hint
Extern
0
(
_
⊥
_
)
=>
apply
ndot_ne_disjoint
;
congruence
:
ndisj
.
Hint
Resolve
ndot_preserve_disjoint_l
:
ndisj
.
Hint
Resolve
ndot_preserve_disjoint_l
:
ndisj
.
Hint
Resolve
ndot_preserve_disjoint_r
:
ndisj
.
Hint
Resolve
ndot_preserve_disjoint_r
:
ndisj
.
...
...
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