Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
stdpp
Commits
5695ee20
Commit
5695ee20
authored
Jun 20, 2019
by
Ralf Jung
Browse files
coqdoc++
parent
c081e1b7
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/namespaces.v
View file @
5695ee20
...
...
@@ -68,27 +68,27 @@ Section namespace.
Proof
.
intros
.
by
apply
symmetry
,
ndot_preserve_disjoint_l
.
Qed
.
End
namespace
.
(* 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 forms:
- [N1 ## N2]
- [↑N1 ⊆ E ∖ ↑N2 ∖ .. ∖ ↑Nn]
- [E1 ∖ ↑N1 ⊆ E2 ∖ ↑N2 ∖ .. ∖ ↑Nn] *)
Create
HintDb
ndisj
.
(* Rules for goals of the form [_ ⊆ _] *)
(* If-and-only-if rules. Well, not quite, but for the fragment we are
(*
*
Rules for goals of the form [_ ⊆ _] *)
(*
*
If-and-only-if rules. Well, not quite, but for the fragment we are
considering they are. *)
Hint
Resolve
(
subseteq_difference_r
(
A
:
=
positive
)
(
C
:
=
coPset
))
:
ndisj
.
Hint
Resolve
(
empty_subseteq
(
A
:
=
positive
)
(
C
:
=
coPset
))
:
ndisj
.
Hint
Resolve
(
union_least
(
A
:
=
positive
)
(
C
:
=
coPset
))
:
ndisj
.
(* Fallback, loses lots of information but lets other rules make progress. *)
(*
*
Fallback, loses lots of information but lets other rules make progress. *)
Hint
Resolve
(
subseteq_difference_l
(
A
:
=
positive
)
(
C
:
=
coPset
))
|
100
:
ndisj
.
Hint
Resolve
nclose_subseteq'
|
100
:
ndisj
.
(* Rules for goals of the form [_ ## _] *)
(* The base rule that we want to ultimately get down to. *)
(*
*
Rules for goals of the form [_ ## _] *)
(*
*
The base rule that we want to ultimately get down to. *)
Hint
Extern
0
(
_
##
_
)
=>
apply
ndot_ne_disjoint
;
congruence
:
ndisj
.
(* Fallback, loses lots of information but lets other rules make progress.
(*
*
Fallback, loses lots of information but lets other rules make progress.
Tests show trying [disjoint_difference_l1] first gives better performance. *)
Hint
Resolve
(
disjoint_difference_l1
(
A
:
=
positive
)
(
C
:
=
coPset
))
|
50
:
ndisj
.
Hint
Resolve
(
disjoint_difference_l2
(
A
:
=
positive
)
(
C
:
=
coPset
))
|
100
:
ndisj
.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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