Upcoming SlideShare
×

# Math::Category

1,577 views

Published on

Perlを使って圏論概念をシミュレーション。

Published in: Technology
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

Views
Total views
1,577
On SlideShare
0
From Embeds
0
Number of Embeds
83
Actions
Shares
0
9
0
Likes
1
Embeds 0
No embeds

No notes for slide

### Math::Category

1. 1. Math::Category id:hiratara 2009-11-21
2. 2. Math::Category (1) ✤ Perl ✤ ✤ ✤
3. 3. Math::Category (2) ✤ ✤ dom, cod, comp ✤ ✤ Hom ✤
4. 4. (1) ✤ ✤ ✤ Morphism interface ✤ source: dom Morphism ✤ target: cod Morphism ✤ composition:
5. 5. (2) ✤ ✤ target source ✤ composition ✤ ✤ ✤
6. 6. (1): SimpleMorphism ✤ 2 1 ✤ simple_morph ‘1’ => ‘2’; ‘1’ ✤ source simple_morph ‘1’ => ‘1’ ‘2’ ✤ target simple_morph ‘2’ => ‘2’ ‘3’ ✤ (simple_morph ‘2’ => ‘3’) . (simple_morph ‘1’ => ‘2’) = (simple_morph ‘1’ => ‘3’)
7. 7. (2): SubroutineMorphism(1) ✤ Perl ✤ Perl ✤ print ✤ sub_morph { \$_[0] * 2 } undef ✤ source target sub_morph { @_ } ( ) ✤ ( )
8. 8. (2): SubroutineMorphism(2) ✤ \$sub2 . \$sub1 \$sub1 \$sub2 ✤ ✤ ✤
9. 9. (1) ✤ f.(g.h) (f . g) . h f g h ✤ ✤ id ( ) ✤ ✤ f×g: x → ( f(x), g(x) )
10. 10. (2) A×B πA πB C ( f, g ): f, g 2 f g ( f, g ) A πA A×B πB B (f,g) f g (f,g) (g,f)
11. 11. (3): ✤ : bi_morph \$morph1, \$morph2; (A1, A2) ✤ source target (f, g) (B1, B2) ✤ : op \$morph; B ✤ source targe f ✤ op op \$morph; \$morph A
12. 12. (1) ✤ Functor ✤ ✤ Morphism Morphism ✤ ( )
13. 13. (2) ✤ functor { ... }; ✤ (Morphism OK) ✤ ✤ ( \$functor2 . \$functor1 )
14. 14. (1): \$BI_FUNCTOR ✤ Hom(-, -) ✤ C^op × C Sets ✤ C^op × C ✤ Sets SubroutineMorphism ( Sets )
15. 15. (1) ✤ NaturalTransformation ✤ ✤ (Morphism)
16. 16. (2) ✤ nat { }; ✤ ✤ ✤ ( ) ✤
17. 17. (3) ✤ ✤ \$nat2 . \$nat1 ✤ \$funct . \$nat ✤ \$nat . \$funct
18. 18. (4): FunctorMorphism ✤ ✤ functor_morph nat { F my \$id = shift; ... ... return \$sum_morph τ }; ✤ source target source G target
19. 19. (2): \$YONEDA_EMBEDDING ✤ ✤ C^op Sets^C ✤ Hom(g, -)
20. 20. : CPS (1) ✤ uc CPS
21. 21. : CPS (2) Sets Hom( , -) Hom( , undef) ∈ print uc \$fun_morph \$cps_uc \$cps_uc->(print) ∈ Hom( , -) Hom( , undef)
22. 22. Monad (1) ✤ functor eta mu ✤ eta: I → T, mu: TT → T ✤ ✤ Haskell Monad ✤