`[<<][math][>>][..]`
Fri Dec 29 11:49:41 EST 2017

## duality: product and coproduct

```Duality "same-ness".  Since duality observations are used a lot, and
products and coproducts are the perfect example of this due to their
relevance in algebraic types, it might be a good starting point to
gain some intuition.

p: carthesian product
c: disjoint union

Those definitions are clear.  What is not clear is the sameness.

Simplified to boolean logic (De Morgan's laws) this becomes clear, but
even for algebraic types, the difference between sums and products is
stark.

So why is this same-ness at all?

https://en.wikipedia.org/wiki/Product_(category_theory)
https://en.wikipedia.org/wiki/Coproduct

W.r.t. duality: an important distinction is about arrows arriving and
leaving at objects.  That is likely where the "dramatic difference"
comes from.  Let's juxtapose:

Given f1:Y->X1, f2:Y->X2, there exists f: Y->(X1,X2)
f1:X1->Y, f2:X2->Y               f: (X1+X2)->Y

Here, the tupling is completely obvious, but the sum is not.

Wait a miniute: is this about the existence of f1 or f2 in the case of
the coproduct?  No.  Both f1 and f2 exist.

Also, X1 and X2 live in the same category.  Otherwise diagrams would
be meaningless.  So the coproduct is closed.

That last one is important.  In the category of sets, both carthesian
product and disjoint union are closed binary operations connecting two
(possibly distinct) objects to a third one.

The existence of products and sums is a property of the category.

Given the "constructors" for product and sum, the existence of
projections,injections and composite arrows is assumed.

So really, it doesn't say much.  It only talks about how the
components relate to the composite.

Taking a->b to mean logical implication (a' v b), this duality is the
same as that introduced by negation in boolean logic:

y->x1, y->x2      => y -> (x1 ^ x2)

x1'->y', x2'->y'  =>  (x1' v x2') -> y'

Write an example using sets, starting with the objects
X1={1,2} X2={2,3}

Product = {(1,2),(1,3),(2,2),(2,3)}
Union   = {1,2,3}

These are really different animals.  An illustration of how much
concrete details are thrown out in CT.

```
`[Reply][About]`
`[<<][math][>>][..]`