SlideShare une entreprise Scribd logo
1  sur  11
圏論とHaskellは
仲良し
法政大学
大森健児
自己紹介
1969年5月卒業
1972年9月卒業
1969-85 企業の研究所で
マルチプロセッサシステム
2016.2.29最終講義
1985-2016大学で教育と研究
圏論
数学は、元来、抽象的だが、
その中で最も抽象的なのが圏論
それぞれの分野を圏とし、
それらに共通するものを扱う
カテゴリーには、
・集合の圏
・モノイドの圏
・群の圏
・ベクトル空間の圏
・グラフの圏
・実数の集合と
連続関数の圏
・位相空間の圏
・デカルト閉圏
圏とは
1.対象(集合:要素の集まり)
2.射(関数)
3.ソース、ターゲット
4.恒等射
5.合成(結合律)
例:自然数の加算
(モノイド)
𝑛
恒等射:0
合成: +
0
1
・
例:自然数の加算
+𝑛
恒等射:0
合成:
+𝑚 ° +𝑛 = +(𝑚 + 𝑛)
+0
+1
・
ℕ
カリー化
𝑓
𝑔
ℎ
𝐴
𝐵
𝐶
例:集合と写像の圏
𝑥 𝑦 𝑧
𝑤
𝑢 𝑣
𝑎 𝑏 𝑐
𝑑
𝑒 𝑥 𝑦 𝑧𝑢 𝑣 𝑤
𝑑 𝑒𝑎 𝑏 𝑐
𝑋
𝑃
𝑠 𝑡
例:グラフの圏
ノードとエッジを対象に
圏論
𝑛
例:自然数とその列
[𝑛]
𝐹 = [ ]
米田の補題 Nat(Hom 𝑆𝑒𝑡𝑠(𝑋, _), 𝐹) ≅ 𝐹(𝑋)
X
Hom 𝑆𝑒𝑡𝑠(𝑋, _)
圏𝐶
𝐹(𝑋)
圏𝑆𝑒𝑡𝑠
𝐹
随伴関手Hom 𝐴(𝐿(𝐵), 𝐴) ≅ Hom 𝐵(𝐵, 𝑅(𝐴))
圏𝐵 圏𝐴
𝐿
𝑅
赤ん坊
の世界
雑音
中学生
の世界
会話中学生:職場体験
𝑎
𝑏
𝑏 ∘ 𝑎
= 𝑏 + 𝑎
(+𝑎)
(+𝑏)
+𝑏 ∘ +𝑎
= + 𝑏 + 𝑎
𝐹
𝒞1 ࣝ2
ℕ
ℕ
ℕ
例:カリー化からモ
ノイドへの写像
関手:
圏𝒞から圏𝒟への関手𝐹: 𝒞 → 𝒟とは、圏𝒞の対象𝐴を圏𝒟の対象𝐹(𝐴)に対応付け、圏𝒞の 射
𝑓: 𝐴 → 𝐵を圏𝒟の対象𝐹(𝑓)に対応付ける関数の組で、次の二つの条件を満たすものである。
1) 𝒞の任意の二つの射𝑓: 𝐴 → 𝐵, 𝑔: 𝐵 → 𝐶に対して、𝐹(𝑔 ⋅ 𝑓) = 𝐹(𝑔) ∘ 𝐹(𝑓)である。
2) 𝒞の任意の対象𝐴に対して、𝐹(1 𝐴) = 1 𝐹( 𝐴)
である。
𝐴
𝐵
𝑓
𝒞
𝐹(𝐴)
𝐹(𝐵)
𝐹(𝑓)
𝒟
𝐹
新しい圏に
Universal Properties
積の定義:
対象𝐵1, 𝐵2の積とは、対象𝑃、射𝑝1: 𝑃 → 𝐵1, 𝑝2: 𝑃 → 𝐵2から
なり、次の条件を満足するものである。
任意の対象𝑋と任意の射𝑓1: 𝑋 → 𝐵1, 𝑓2: 𝑋 → 𝐵2が与えられ
た時、以下の図式が可換となるような𝑢: 𝑋 → 𝑃が唯一つ
存在する。
このとき、𝑃は 𝐵1 × 𝐵2と表す。
最大公約数 積集合
Universal Properties
和の定義:
対象𝐵1, 𝐵2の和とは、対象𝑄、射𝑞1: 𝑄 → 𝐵1, 𝑞2: 𝑃 → 𝐵2か
らなり、次の条件を満足するものである。
任意の対象𝑌と任意の射𝑔1: 𝐵1 → 𝑌, 𝑔2: 𝐵2 → 𝑌が与えられ
た時、以下の図式が可換となるような𝑢′: 𝑄 → 𝑌が唯一つ
存在する。
このとき、𝑄は 𝐵1 + 𝐵2と表す。
最小公倍数 和集合
Haskell プログラミング言語で、カテゴリー(圏論)を
ベースにしているのは、Haskell
関数型言語の歴史
素数
primes = filterPrime [2..]
where filterPrime (p:xs) =
p : filterPrime [x | x <- xs, x `mod` p /= 0]
クイックソート
quicksort [] = []
quicksort (x:xs) = quicksort smaller ++ [x] ++ quicksort larger
where smaller = [a | a <- xs, a < x]
larger = [a | a <- xs, a >= x]
関数とは
𝑣 = 𝑣0 − 𝑔𝑑𝑡(速度)
𝑦 = 𝑦0 + 𝑣𝑑𝑡(位置)
言語 年 発明者
ラムダ計算 1930 チャーチ
圏論 1945 マックレーン
LISP 1958 マッカーシー
Scheme 1975 サスマン
Smalltalk-80 1980 ゼロックス社
Haskell 1.0 1990 ハスケル・カリーに因
んで
Haskell 2010 2010
Haskellと圏論
圏
1.対象
2.射
3.ソース、ターゲット
4.恒等射
5.合成(結合律)
Haskell
1.データ型(集合:要素の集まり)
2.関数(クラス・インスタンス)
3.シグニチャ
データ型𝐶
𝑓
𝑔
𝑔°𝑓
データ型𝐷
𝑓′
= 𝑓𝑚𝑎𝑝 𝑓
𝑔′
= 𝑓𝑚𝑎𝑝 𝑔
𝑔′
°𝑓′
= 𝑓 𝑚𝑎𝑝 𝑔°𝑓
= 𝑓𝑚𝑎𝑝 𝑔 °(𝑓𝑚𝑎𝑝 𝑓)
Haskellでの関手
随伴関手
モナド 𝑅°𝐿
モナドの例
入出力
ファイル
Maybe (例外事象)
モナドの利点
ドメイン固有言語
→簡単に作成
圏𝐵 圏𝐴
𝐿
𝑅
忘却関手
赤ん坊
の世界
雑音
中学生
の世界
会話
実世界 純粋な
世界
関数型リアクティブ
プログラミング
関数型言語を実世界へ
・ロボット
・ゲーム
・シミュレーション
動画
ビリヤード台で衝突
しあう二つのボール
ビリヤード座標系 重心座標系
simulation :: HasTime t s => Wire s () IO a (Ball, Ball)
simulation = proc _ -> do
rec b1 <- ball "ball1" mass1 radius1 vInit1 pInit1 -< ("ball1", c)
b2 <- ball "ball2" mass2 radius2 vInit2 pInit2 -< ("ball2", c)
c <- collision -< (b1, b2)
returnA -< (b1, b2)
振舞い:時間を変数とする関数
イベント:ある時間での事象
例 :音楽
振舞い :曲
イベント:打鍵
デモ
Time
Int x
Time
Int
2
stepper 2 x
詳細は
http://bitterharvest.hatenablog.com/entry
/2015/09/24/164937
さらに勉強する人のために
ご清聴ありがとうございました。
http://bitterharvest.hatenablog.com
でお会いしましょう。

Contenu connexe

Tendances

メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法Kenichi Hironaka
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底Hiromi Ishii
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナドYoshihiro Mizoguchi
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」Ken'ichi Matsui
 
C++の話(本当にあった怖い話)
C++の話(本当にあった怖い話)C++の話(本当にあった怖い話)
C++の話(本当にあった怖い話)Yuki Tamura
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みMasahiro Sakai
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-Takuya Akiba
 
JavaScript難読化読経
JavaScript難読化読経JavaScript難読化読経
JavaScript難読化読経Yosuke HASEGAWA
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)STAIR Lab, Chiba Institute of Technology
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)Takao Yamanaka
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)Shota Shinogi
 
最適化超入門
最適化超入門最適化超入門
最適化超入門Takami Sato
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考えるryuz88
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門Eita Sugimoto
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 

Tendances (20)

メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
渡辺澄夫著「ベイズ統計の理論と方法」5.1 マルコフ連鎖モンテカルロ法
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド圏論のモナドとHaskellのモナド
圏論のモナドとHaskellのモナド
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
 
C++の話(本当にあった怖い話)
C++の話(本当にあった怖い話)C++の話(本当にあった怖い話)
C++の話(本当にあった怖い話)
 
SAT/SMTソルバの仕組み
SAT/SMTソルバの仕組みSAT/SMTソルバの仕組み
SAT/SMTソルバの仕組み
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
 
JavaScript難読化読経
JavaScript難読化読経JavaScript難読化読経
JavaScript難読化読経
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
知識グラフの埋め込みとその応用 (第10回ステアラボ人工知能セミナー)
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
Rust で RTOS を考える
Rust で RTOS を考えるRust で RTOS を考える
Rust で RTOS を考える
 
ラムダ計算入門
ラムダ計算入門ラムダ計算入門
ラムダ計算入門
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 

En vedette

実践Scalaでペアノの公理
実践Scalaでペアノの公理実践Scalaでペアノの公理
実践Scalaでペアノの公理Yasuki Okumura
 
加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考えるYu(u)ki IWABUCHI
 
【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について和人 桐ケ谷
 
nichiyou vol.4
nichiyou vol.4nichiyou vol.4
nichiyou vol.4tsu nuts
 
最大公約数に関するささやかな知見
最大公約数に関するささやかな知見最大公約数に関するささやかな知見
最大公約数に関するささやかな知見ayatsuka
 
かんたんベジェ曲線
かんたんベジェ曲線かんたんベジェ曲線
かんたんベジェ曲線Yu(u)ki IWABUCHI
 
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うSwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うhayato iida
 
Riemann球面に 内接する直方体[第四回日曜数学会]
Riemann球面に内接する直方体[第四回日曜数学会]Riemann球面に内接する直方体[第四回日曜数学会]
Riemann球面に 内接する直方体[第四回日曜数学会]Yuto Horikawa
 
営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったこと営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったことDaisuke Kotaki
 
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会Junpei Tsuji
 
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料Ken'ichi Matsui
 
第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~Makoto Kohno
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -MITSUNARI Shigeo
 
Poincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical RepresentationsPoincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical RepresentationsTatsuya Shirakawa
 

En vedette (15)

実践Scalaでペアノの公理
実践Scalaでペアノの公理実践Scalaでペアノの公理
実践Scalaでペアノの公理
 
加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える加法よりも低レベルな演算を考える
加法よりも低レベルな演算を考える
 
【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について【展開用】日曜数学会 Sinc関数の積分について
【展開用】日曜数学会 Sinc関数の積分について
 
nichiyou vol.4
nichiyou vol.4nichiyou vol.4
nichiyou vol.4
 
最大公約数に関するささやかな知見
最大公約数に関するささやかな知見最大公約数に関するささやかな知見
最大公約数に関するささやかな知見
 
かんたんベジェ曲線
かんたんベジェ曲線かんたんベジェ曲線
かんたんベジェ曲線
 
SwiftでRiemann球面を扱う
SwiftでRiemann球面を扱うSwiftでRiemann球面を扱う
SwiftでRiemann球面を扱う
 
Riemann球面に 内接する直方体[第四回日曜数学会]
Riemann球面に内接する直方体[第四回日曜数学会]Riemann球面に内接する直方体[第四回日曜数学会]
Riemann球面に 内接する直方体[第四回日曜数学会]
 
営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったこと営業会社の開発組織を成長させるためにやったこと
営業会社の開発組織を成長させるためにやったこと
 
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会ベルヌーイ数を割る素数 - 第4回 #日曜数学会
ベルヌーイ数を割る素数 - 第4回 #日曜数学会
 
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
「ベータ分布の謎に迫る」第6回 プログラマのための数学勉強会 LT資料
 
第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~第4回日曜数学会スライド by まこぴ~
第4回日曜数学会スライド by まこぴ~
 
Packing
PackingPacking
Packing
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
 
Poincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical RepresentationsPoincare embeddings for Learning Hierarchical Representations
Poincare embeddings for Learning Hierarchical Representations
 

Dernier

3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイントshu1108hina1020
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrRodolfFernandez1
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...oganekyokoi
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdfoganekyokoi
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...yutakashikano1984
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 

Dernier (8)

3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdf
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 

圏論とHaskellは仲良し