User:Michiexile/MATH198/Lecture 4
From HaskellWiki
(Difference between revisions)
| Line 1: | Line 1: | ||
IMPORTANT NOTE: THESE NOTES ARE STILL UNDER DEVELOPMENT. PLEASE WAIT UNTIL AFTER THE LECTURE WITH HANDING ANYTHING IN, OR TREATING THE NOTES AS READY TO READ. | IMPORTANT NOTE: THESE NOTES ARE STILL UNDER DEVELOPMENT. PLEASE WAIT UNTIL AFTER THE LECTURE WITH HANDING ANYTHING IN, OR TREATING THE NOTES AS READY TO READ. | ||
| + | |||
| + | ===Product=== | ||
| + | |||
| + | * Cartesian product in Set | ||
| + | * Product of categories construction | ||
| + | * Record types | ||
| + | * Categorical formulation | ||
| + | ** Universal X such that Y | ||
| + | |||
| + | ===Coproduct=== | ||
| + | |||
| + | * Diagram definition | ||
| + | * Disjoint union in Set | ||
| + | * Coproduct of categories construction | ||
| + | * Union types | ||
| + | |||
| + | ===Limits and colimits=== | ||
| + | |||
| + | * Generalizing these constructions | ||
| + | * Diagram and universal object mapping to (from) the diagram | ||
| + | * Express product/coproduct as limit/colimit | ||
| + | * Issues with Haskell | ||
| + | ** No dependent types | ||
| + | ** No compiler-enforced equational conditions | ||
| + | ** Can be ''simulated'' but not enforced, e.g. using QuickCheck. | ||
| + | |||
| + | ====Useful limits and colimits==== | ||
| + | |||
| + | =====Equalizer, coequalizer===== | ||
| + | |||
| + | * Kernels, cokernels, images, coimages | ||
| + | ** connect to linear algebra: null spaces et.c. | ||
| + | |||
| + | =====Pushout and pullback squares===== | ||
| + | |||
| + | * Computer science applications | ||
| + | |||
| + | * The power of dualization. | ||
| + | * Limits, colimits. | ||
| + | * Products, coproducts. | ||
| + | * Equalizers, coequalizers. | ||
Revision as of 16:13, 7 October 2009
IMPORTANT NOTE: THESE NOTES ARE STILL UNDER DEVELOPMENT. PLEASE WAIT UNTIL AFTER THE LECTURE WITH HANDING ANYTHING IN, OR TREATING THE NOTES AS READY TO READ.
Contents |
1 Product
- Cartesian product in Set
- Product of categories construction
- Record types
- Categorical formulation
- Universal X such that Y
2 Coproduct
- Diagram definition
- Disjoint union in Set
- Coproduct of categories construction
- Union types
3 Limits and colimits
- Generalizing these constructions
- Diagram and universal object mapping to (from) the diagram
- Express product/coproduct as limit/colimit
- Issues with Haskell
- No dependent types
- No compiler-enforced equational conditions
- Can be simulated but not enforced, e.g. using QuickCheck.
3.1 Useful limits and colimits
3.1.1 Equalizer, coequalizer
- Kernels, cokernels, images, coimages
- connect to linear algebra: null spaces et.c.
3.1.2 Pushout and pullback squares
- Computer science applications
* The power of dualization. * Limits, colimits. * Products, coproducts. * Equalizers, coequalizers.
