lecture 2: introduction to category theory nick rossiter, computing science, newcastle university,...

Post on 05-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lecture 2: Introduction to Category Theory

Nick Rossiter, Computing Science, Newcastle University, England

B.N.Rossiter@newcastle.ac.ukhttp://www.cs.ncl.ac.uk/people/b.n.rossiter/

Features of Interoperability

• Complex mappings from user views to way data is held

• Need to handle data, metadata and metameta data

• Need to make semantic transformations

Category Theory?

• Need relations to represent mappings between levels

• Multi-level construction (higher-order)

• Category theory seems appropriate:- categories for basic structures

- functors relate categories

- natural transformations relate functors

Origins of Category Theory

1940s Sammy Eilenberg

1960s Fred Lawvere

1970s Saunders Mac Lane

1990s Mike Barr & Charles Wells

Peter Freyd

Various views: “Multi level Graph Theory”

“Multi level Functional Programming”

“Multi level Type Theory”

Basic Constructions

• The Category:

• Collection of arrows which may be named:

(name:) source target

e.g. a b

1a: a a (identity arrow named 1a)

f: b c (arrow named f)

Categorial Axioms 1

• The identity arrow 1a identifies an object a

• Arrows are composable if the source of one forms the target of the other:

a b, b c has composite a c

• Composition is associative:

f: a b, g: b c, h: c d

f o (g o (h)) equiv ((f) o g) o h

Categorial Axioms 2

• Identity arrows may be used for the operation of composition:

e.g. f: a b, g: b c f

a b

f 1b g

b c

g

• Equations: 1b o f = f and g o 1b = g

Types of Category

• Categories are named in bold font.

• A number of universal basic types have been developed for:

Sets

Ordered constructions on sets

Products

Relationships

(and many others)

Discrete Categories

• Every arrow is an identity arrow

e.g. aa, b b, c c

• Discrete categories are sets (without functions)

Simple Categories 0,1

• 0

empty category -- no objects, no arrows

• 1

(discrete) category with one object and one identity arrow e.g.

a 1a: a a

Simple Categories 2

• 2

Category with two objects and one arrow which is not an identity e.g.

a, b a b

Category Set

• Set

The objects are sets

The arrows are total functions between the sets

e.g. Sets X, Y, Z

Total functions a:X Y, b:Y Z

Category Set (commuting diagram)

• Represented as category XYZ in the universal category of Set

X

a c

Y Z

b

• Diagram is said to commute if c = b o a

• Equational logic to accompany diagrams

Category Preorder

• A set of objects p,q,r,…

• A collection of arrows such that:

each arrow represents an ordering

• There is no more than one arrow between any two objects

• p q is the ordered pair <p,q> for which p <= q

Preorder construction

• Satisfies categorical axioms:

identity p p (for each object)

composition p <= q <= r implies p <= r through transitivity

• Example of preorder: (may be symmetric)

b

d c e

a

Preorder Applications

• May be cyclic

• Occur naturally as rich data structures in information systems e.g. object-oriented

• In some approaches e.g. relational, preorders are converted to an equivalent collection of partial orders

• Normalization techniques

Partial Orders - Category Pos

• Collection of partial-order objects with order-preserving arrows between them

• As preorder but with asymmetric axiom:

if p<=q and q<=p then p=q is implied Objects b

Pos1 d c e

a

Pos2 a d

Order-preserving arrows: Pos2Pos1; Pos1 Pos2

Pos Applications

• Derived from Preorder by Functor (see later) to convert symmetric structures to asymmetric ones

• Basis of logic

• Ordering by projection, inclusion

• Inheritance and aggregation paths• Basic data structuring with constraints (keys)

• Relationship representation

Types of Arrow - Monic

• Monic:

m

a b

f g

d

• If m o f = m o g implies f=g, then m is monic. Left-cancellable.

• One path. Injective in sets. 1:1 relationship.

Types of Arrow - Epic

• Epic

h d

a b c

e

• If d o h = e o h implies d=e then h is epic.

Right-cancellable.• Onto. Surjective in sets. Mandatory relation.

Isomorphisms

• A mapping that is both monic and epic in the category Set is isomorphic.

• In other types of categories, this cannot always be assumed to hold.

Collections of Arrows - Hom Sets

• Sometimes useful to think of the collection of arrows between two objects

• Termed a hom set

• Written homC(a,b)

to represent all arrows between objects a and b in the category C.

• Emerge as results of queries on information systems

Types of Object - Initial

• An initial object in a category has precisely one arrow from it to every other object.

b

a c

d

• a is initial object in this category

• Bottom in partial orders; identifiers or keys in databases;

Types of Object - Terminal

• A terminal object in category has precisely one arrow onto it from every other object

a

b emptyset

c

• emptyset is terminal object

• top in partial orders; base supertype in inheritance partial orders

Category with Products

• A category has finite products if in addition to objects, say, a,b,c, it has:

• a product object a x b x c • projections:

pi1: a x b x c a

pi2: a x b x c b

pi3: a x b x c c

Product - Universal Mapping

• Binary product example (U universal object)

A x B

pi1 d pi2

A U B

f g

Equations: f o pi1 = d = g o pi2

Relationships -- Pullbacks

• Notion of subproduct

• Relation of two objects in context of a third

• Restriction of universal product

• Pullback of one arrow over another

Pullback Diagram for f over g - Basic Arrows

A

pil f

A XC B C

pir g

B• A, B are objects in relationship• C includes coproduct A+B, product AXB, link objects.

• A XC B is product A X B in context C

• Equational logic: f o pil = g o pir

Pullbacks - More Arrows 1

A

pil pi*l f

Delta

A XC B C

pi*r

pir g

B

Pullback - More Arrows 2

A

pil pi*l f

Coprod

A XC B Delta C

pi*r Prod

pir g

B

Interpretation of Objects, Arrows

• A XC B relation A to B over C

• Delta: C A XC B

Mapping from link object to relation

• Coprod: A XC B C (exists)

Mapping from relation to coproduct in C

• Prod: A XC B C (for all)

Mapping from relation to product in C

Interpretation of Projection Arrows

• pil: A XC B A

left projection

monic -- each A participates once in relation

epic -- each A must participate in relation

• pir: A XC B B

right projection

monic -- each B participates once in relation

epic -- each B must participate in relation

Coproducts (Sums)

A+B

il d ir

A U B

f g

Equations il o f = d = ir o g

U is universal object

Restricted Coproduct

• Pushout

A

f il

C A +C B

g ir

B

Restriction over object C

Limits

• Both Pullbacks and Pushouts are examples of Limits.

• They are restricted products/coproducts

• A +C B is colimit

• A XC B is limit

Further Reading

• Categories for the Working Mathematician

Mac Lane, Saunders

2nd edition

Springer-Verlag 1998.

• Category Theory for Computing Science Barr, Michael & Wells, Charles

1st edition (later editions are available)

Prentice-Hall 1990.

top related