Personal tools

User:Michiexile/MATH198/Lecture 4

From HaskellWiki

Jump to: navigation, search

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.