Can you Differentiate a Polynomial? Introduction
Can you Differentiate a Polynomial?
J.R.B. Cockett
Department of Computer Science University of Calgary Alberta, Canada robin@cpsc.ucalgary.ca
Can you Differentiate a Polynomial? J.R.B. Cockett Department of - - PowerPoint PPT Presentation
Can you Differentiate a Polynomial? Introduction Can you Differentiate a Polynomial? J.R.B. Cockett Department of Computer Science University of Calgary Alberta, Canada robin@cpsc.ucalgary.ca Halifax, June 2012 Can you Differentiate a
Can you Differentiate a Polynomial? Introduction
Department of Computer Science University of Calgary Alberta, Canada robin@cpsc.ucalgary.ca
Can you Differentiate a Polynomial? Introduction
Can you Differentiate a Polynomial? Differential categories The story so far ..
Can you Differentiate a Polynomial? Differential categories Left-additive categories
◮ Each hom-set is a commutative monoid (0,+) ◮ f (g + h) = (fg) + (fh) and f 0 = 0
f
h
Can you Differentiate a Polynomial? Differential categories Left-additive categories
◮ the maps π0, π1, and ∆ are additive; ◮ f and g additive implies f × g additive.
Can you Differentiate a Polynomial? Differential categories Left-additive categories
Can you Differentiate a Polynomial? Differential categories Differential Structure
Can you Differentiate a Polynomial? Differential categories Differential Structure
i yi · ∂ip1, ..., i yi · ∂ipn) : m + m −
Can you Differentiate a Polynomial? Differential categories Differential Structure
Well ... not quite!
Can you Differentiate a Polynomial? Structural Polynomials Basics
v
S
w
Can you Differentiate a Polynomial? Structural Polynomials Basics
v
S
w
Can you Differentiate a Polynomial? Structural Polynomials Basic example of trees
v
S
w
Can you Differentiate a Polynomial? Structural Polynomials Basic example of trees
Can you Differentiate a Polynomial? Structural Polynomials Polynomial functors
v
S
w
∆v
Πu
Σw
◮ ∆v is the “reindexing” or “substitution” functor
◮ Πu is the “dependent product” functor
◮ Σw is the “dependent sum” functor
Can you Differentiate a Polynomial? Structural Polynomials Polynomial functors
(Qv(p))p:P
∆v (Q)
Σs (σw(s)( ))
Q
v
S
w
Σs:w(s)=y (Πp:u(p)=sQv(p)) ”
y:Y Σw (Πu(∆v (Q)))
Y
Can you Differentiate a Polynomial? Structural Polynomials Polynomial functors
v
w
Can you Differentiate a Polynomial? Structural Polynomials Polynomial functors
(Qv(p))p∈P
∆v (Q)
Q
v
w
Σp:w(p)=y (Qv(p)) ”
y∈Y Σw (∆v (Q))
Y
Can you Differentiate a Polynomial? Structural Polynomials Composition of polynomials
v
S
w
v′
S′
w′
Can you Differentiate a Polynomial? Structural Polynomials Composition of polynomials
ε
2
v
S
w
v′
S′
w′
Can you Differentiate a Polynomial? Structural Polynomials Composition of polynomials
∆ε(g)
∆u(Πu(f ))
Πu(f )0
Πu(f )=h
A
f
u
S
Σf (g)=fg
Πu∗(∆ε(g))h
Can you Differentiate a Polynomial? Structural Polynomials Composition of polynomials
{⋆}
Can you Differentiate a Polynomial? Structural Polynomials Composition of polynomials
g′
B
g
f
B′
◮ For stable maps g and g′ we always have
◮ For exponentiable maps f and f ′ we always have
Can you Differentiate a Polynomial? Structural Polynomials Composition of polynomials
P2
e
ε
1
2 w1
v′ 2
v′ 1
v
w
v′
w′
Y Z
1(Πu(∆v(x)))))) BC
2v((x))))) lemma
1(∆ε(Πu1(∆v′ 2v((x))))) BC
2v((x))))
Can you Differentiate a Polynomial? Structural Polynomials Morphisms of polynomials
v
S
w
Y
α
v′
S′
w′
Y
Can you Differentiate a Polynomial? Structural Polynomials Morphisms of polynomials
v
β
Y
v′
S′
w′
Y
∆v
Πu
X/S
Σw
Πu′
∆β
Σw′
Can you Differentiate a Polynomial? Structural Polynomials Morphisms of polynomials
v
S
w
Y
v′
w
Y
∆γ
Πu
∆v
X/V ′
Πu′
Σw
X/Y
Can you Differentiate a Polynomial? Structural Polynomials Morphisms of polynomials
Can you Differentiate a Polynomial? The bicategory of polynomials
Just mentioned that to keep Robert Pare happy!
Can you Differentiate a Polynomial? The bicategory of polynomials
v′
S′
w′
v
S
w
v|v′
w|w′
Can you Differentiate a Polynomial? The bicategory of polynomials
v′
S′
w′
v
S
w
v|v′
w+w′
Can you Differentiate a Polynomial? The bicategory of polynomials
◮ Structural polynomials correspond to polynomial functors ◮ (Strong) natural transformations correspond to morphisms of
◮ Polynomials form a left additive (bi)category
◮ Can express initial datatypes and a lot else besides by
Can you Differentiate a Polynomial? The bicategory of polynomials The differential
1|q0 1|q1
u
u
S
Can you Differentiate a Polynomial? The bicategory of polynomials The differential
v
S
w
v+q0v
uw
Can you Differentiate a Polynomial? The bicategory of polynomials The differential
◮ Can differentiate data types:
◮ Can differentiate combinatorial species:
◮ An example of a differential category in which negation is
◮ Of course, need to prove this is a differential!!!
Can you Differentiate a Polynomial? The bicategory of polynomials Trees again
Can you Differentiate a Polynomial? The bicategory of polynomials Trees again
Can you Differentiate a Polynomial? The bicategory of polynomials Trees again
Can you Differentiate a Polynomial? The bicategory of polynomials Trees again
Can you Differentiate a Polynomial? Concluding remarks
◮ Is this all completely sorted out?
◮ Are polynomial functors the only ones which can be
◮ Is this example of a differential useful?
Can you Differentiate a Polynomial? Concluding remarks