# 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.