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
Rodolphe Lepigre
Iris
Commits
a52c62d1
Commit
a52c62d1
authored
Aug 04, 2016
by
Robbert Krebbers
Browse files
CMRA functor (without unit) on auth.
parent
40b18e24
Changes
1
Hide whitespace changes
Inline
Side-by-side
algebra/auth.v
View file @
a52c62d1
...
...
@@ -241,6 +241,28 @@ Definition authC_map {A B} (f : A -n> B) : authC A -n> authC B :=
Lemma
authC_map_ne
A
B
n
:
Proper
(
dist
n
==>
dist
n
)
(@
authC_map
A
B
).
Proof
.
intros
f
f'
Hf
[[[
a
|]|]
b
]
;
repeat
constructor
;
apply
Hf
.
Qed
.
Program
Definition
authRF
(
F
:
urFunctor
)
:
rFunctor
:
=
{|
rFunctor_car
A
B
:
=
authR
(
urFunctor_car
F
A
B
)
;
rFunctor_map
A1
A2
B1
B2
fg
:
=
authC_map
(
urFunctor_map
F
fg
)
|}.
Next
Obligation
.
by
intros
F
A1
A2
B1
B2
n
f
g
Hfg
;
apply
authC_map_ne
,
urFunctor_ne
.
Qed
.
Next
Obligation
.
intros
F
A
B
x
.
rewrite
/=
-{
2
}(
auth_map_id
x
).
apply
auth_map_ext
=>
y
;
apply
urFunctor_id
.
Qed
.
Next
Obligation
.
intros
F
A1
A2
A3
B1
B2
B3
f
g
f'
g'
x
.
rewrite
/=
-
auth_map_compose
.
apply
auth_map_ext
=>
y
;
apply
urFunctor_compose
.
Qed
.
Instance
authRF_contractive
F
:
urFunctorContractive
F
→
rFunctorContractive
(
authRF
F
).
Proof
.
by
intros
?
A1
A2
B1
B2
n
f
g
Hfg
;
apply
authC_map_ne
,
urFunctor_contractive
.
Qed
.
Program
Definition
authURF
(
F
:
urFunctor
)
:
urFunctor
:
=
{|
urFunctor_car
A
B
:
=
authUR
(
urFunctor_car
F
A
B
)
;
urFunctor_map
A1
A2
B1
B2
fg
:
=
authC_map
(
urFunctor_map
F
fg
)
...
...
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