Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Iris
Iris
Commits
ed383a77
Commit
ed383a77
authored
Oct 13, 2016
by
Ralf Jung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make everything compile with Coq 8.6
parent
a5f94780
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
3 deletions
+9
-3
prelude/list.v
prelude/list.v
+6
-1
program_logic/namespaces.v
program_logic/namespaces.v
+2
-1
proofmode/tactics.v
proofmode/tactics.v
+1
-1
No files found.
prelude/list.v
View file @
ed383a77
...
...
@@ -2234,7 +2234,12 @@ Section Forall_Exists.
Lemma not_Forall_Exists l : ¬Forall P l → Exists (not ∘ P) l.
Proof. intro. destruct (Forall_Exists_dec dec l); intuition. Qed.
Lemma not_Exists_Forall l : ¬Exists P l → Forall (not ∘ P) l.
Proof. by destruct (Forall_Exists_dec (λ x, swap_if (decide (P x))) l). Qed.
Proof.
(* TODO: Coq 8.6 needs type annotation here, Coq 8.5 did not.
Should we report this? *)
by destruct (@Forall_Exists_dec (not ∘ P) _
(λ x : A, swap_if (decide (P x))) l).
Qed.
Global Instance Forall_dec l : Decision (Forall P l) :=
match Forall_Exists_dec dec l with
| left H => left H
...
...
program_logic/namespaces.v
View file @
ed383a77
...
...
@@ -52,7 +52,8 @@ Section ndisjoint.
Lemma
ndot_ne_disjoint
N
x
y
:
x
≠
y
→
N
.@
x
⊥
N
.@
y
.
Proof
.
intros
Hxy
a
.
rewrite
!
nclose_eq
!
elem_coPset_suffixes
!
ndot_eq
.
intros
[
qx
->]
[
qy
].
by
intros
[=
?%
encode_inj
]%
list_encode_suffix_eq
.
intros
[
qx
->]
[
qy
Hqy
].
revert
Hqy
.
by
intros
[=
?%
encode_inj
]%
list_encode_suffix_eq
.
Qed
.
Lemma
ndot_preserve_disjoint_l
N
E
x
:
nclose
N
⊥
E
→
nclose
(
N
.@
x
)
⊥
E
.
...
...
proofmode/tactics.v
View file @
ed383a77
...
...
@@ -834,7 +834,7 @@ Tactic Notation "iRevertIntros" constr(Hs) "with" tactic(tac) :=
|
ESelName
?p
?H
::
?Hs
=>
iRevert
H
;
go
Hs
;
let
H'
:
=
match
p
with
true
=>
constr
:
[
IAlwaysElim
(
IName
H
)]
|
false
=>
H
end
in
match
p
with
true
=>
constr
:
(
[
IAlwaysElim
(
IName
H
)]
)
|
false
=>
H
end
in
iIntros
H'
end
in
iElaborateSelPat
Hs
go
.
...
...
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