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
.
Generalizable
All
Variables
.
Initial object definition
Structure
Initial
(π :
Category
) β
mkInitial
{
empty
:>
π
;
bottom
:
β
{
A
:
π
},
empty
β
A
;
bottom_unique
:
β
`{
f
:
empty
β
A
},
f
β
bottom
}.
Notation
"
β¨β₯β©"
β
empty
.
Notation
"
!-β₯"
β
bottom
.
Notation
"
β₯-unique" β
bottom_unique
.
Notation
"
'Initial.make' β¦ 'empty' β empty ; 'bottom' β bottom β¦" β
(@
mkInitial
_
empty
bottom
_
) (
only
parsing
).
Terminal object definition
Structure
Terminal
(π :
Category
) β
mkTerminal
{
one
:>
π
;
top
:
β
{
A
:
π
},
A
β
one
;
top_unique
:
β
`{
f
:
A
β
one
},
f
β
top
}.
Notation
"
β¨β€β©"
β
one
.
Notation
"
!-β€"
β
top
.
Notation
"
β€-unique" β
top_unique
.
Notation
"
'Terminal.make' β¦ 'one' β one ; 'top' β top β¦" β (@
mkTerminal
_
one
top
_
) (
only
parsing
).
Benedikt Ahrens and RΓ©gis Spadotti—
Terminal semantics for codata types in intensional Martin-LoΜf type theory
Table of contents
Index