User:Michiexile/MATH198/Lecture 4

From HaskellWiki
Jump to navigation Jump to 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.

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.