Personal tools

User:Michiexile/MATH198/Lecture 4

From HaskellWiki

< User:Michiexile | MATH198(Difference between revisions)
Jump to: navigation, search
 
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.