Benedikt Ahrens and RΓ©gis Spadotti—
Terminal semantics for codata types in intensional Martin-LoΜf type theory
Table of contents
Index
Require
Import
Theory.Category
.
Require
Import
Theory.Functor
.
Require
Import
Theory.RelativeComonadWithCut
.
Require
Import
Theory.Product
.
Require
Import
Theory.CartesianStrongMonoidal
.
Generalizable
All
Variables
.
Category of Relative comonads with cut
Category definition
Section
Definitions
.
Context
`{
BinaryProduct
π} `{
BinaryProduct
π}
(
F
:
Functor
π
π
) (
E
:
π
) `{!
CartesianStrongMonoidal
F
}.
Implicit
Types
(
A
B
C
D
:
RelativeComonadWithCut
F
E
).
Import
RelativeComonadWithCut.Morphism
.
Infix
"
β" β
Hom
.
Infix
"
β" β
compose
.
Lemma
left_id
A
B
(
f
:
A
β
B
) :
id
β
f
β
f
.
Show proof.
intro
x
;
simpl
.
rewrite
left_id
.
reflexivity
.
Lemma
right_id
A
B
(
f
:
A
β
B
) :
f
β
id
β
f
.
Show proof.
intro
x
;
simpl
.
now
rewrite
right_id
.
Lemma
compose_assoc
A
B
C
D
(
f
:
A
β
B
) (
g
:
B
β
C
) (
h
:
C
β
D
) :
h
β
g
β
f
β
h
β
(
g
β
f
)
.
Show proof.
intro
x
;
simpl
.
now
rewrite
compose_assoc
.
Canonical
Structure
πΉπͺππππππ πΎππππͺππ :
Category
β
mkCategory
left_id
right_id
compose_assoc
.
End
Definitions
.
Benedikt Ahrens and RΓ©gis Spadotti—
Terminal semantics for codata types in intensional Martin-LoΜf type theory
Table of contents
Index