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
Iris
Commits
c136a440
Commit
c136a440
authored
Nov 27, 2017
by
Robbert Krebbers
Browse files
No longer let `to_agree` require the carrier to be an OFE.
parent
6c7b99c2
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/algebra/agree.v
View file @
c136a440
...
...
@@ -34,6 +34,9 @@ Arguments agree_car {_} _.
Arguments
agree_not_nil
{
_
}
_
.
Local
Coercion
agree_car
:
agree
>->
list
.
Definition
to_agree
{
A
}
(
a
:
A
)
:
agree
A
:
=
{|
agree_car
:
=
[
a
]
;
agree_not_nil
:
=
eq_refl
|}.
Lemma
elem_of_agree
{
A
}
(
x
:
agree
A
)
:
∃
a
,
a
∈
agree_car
x
.
Proof
.
destruct
x
as
[[|
a
?]
?]
;
set_solver
+.
Qed
.
Lemma
agree_eq
{
A
}
(
x
y
:
agree
A
)
:
agree_car
x
=
agree_car
y
→
x
=
y
.
...
...
@@ -156,9 +159,6 @@ Proof.
apply
discrete_iff_0
;
auto
.
Qed
.
Program
Definition
to_agree
(
a
:
A
)
:
agree
A
:
=
{|
agree_car
:
=
[
a
]
;
agree_not_nil
:
=
eq_refl
|}.
Global
Instance
to_agree_ne
:
NonExpansive
to_agree
.
Proof
.
intros
n
a1
a2
Hx
;
split
=>
b
/=
;
...
...
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