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.