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
Simon Spies
Iris
Commits
27f4d0c4
Commit
27f4d0c4
authored
Dec 05, 2016
by
Robbert Krebbers
Browse files
Give more usefull alternative characterization of contractive.
I added the old one in
176a588c
but it was never used.
parent
40ddc78f
Changes
1
Hide whitespace changes
Inline
Side-by-side
algebra/ofe.v
View file @
27f4d0c4
...
...
@@ -871,13 +871,18 @@ Section later.
Global
Instance
Later_inj
n
:
Inj
(
dist
n
)
(
dist
(
S
n
))
(@
Next
A
).
Proof
.
by
intros
x
y
.
Qed
.
Lemma
contractive_alt
{
B
:
ofeT
}
(
f
:
A
→
B
)
:
Contractive
f
↔
(
∀
n
x
y
,
Next
x
≡
{
n
}
≡
Next
y
→
f
x
≡
{
n
}
≡
f
y
)
.
Proof
.
done
.
Qed
.
Instance
later_car_anti_contractive
n
:
Proper
(
dist
n
==>
dist_later
n
)
later_car
.
Proof
.
move
=>
[
x
]
[
y
]
/=
Hxy
.
done
.
Qed
.
Lemma
later_car_anti_contractive
:
∀
n
,
Proper
(
dist
n
==>
dist_later
n
)
later_car
.
Proof
.
move
=>
n
[
x
]
[
y
]
/=
Hxy
.
done
.
Qed
.
Lemma
contractive_alt
{
B
:
ofeT
}
(
f
:
A
→
B
)
:
Contractive
f
↔
∃
g
:
later
A
→
B
,
(
∀
n
,
Proper
(
dist
n
==>
dist
n
)
g
)
∧
(
∀
x
,
f
x
≡
g
(
Next
x
)).
Proof
.
split
.
-
intros
Hf
.
exists
(
f
∘
later_car
)
;
split
=>
//
n
x
y
?.
by
f_equiv
.
-
intros
(
g
&
Hg
&
Hf
)
n
x
y
Hxy
.
rewrite
!
Hf
.
by
apply
Hg
.
Qed
.
End
later
.
Arguments
laterC
:
clear
implicits
.
...
...
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