# User:Michiexile/MATH198/Lecture 4

### From HaskellWiki

< User:Michiexile | MATH198(Difference between revisions)

Michiexile (Talk | contribs) |
Michiexile (Talk | contribs) |
||

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.