bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

自己を表現する恒等射

2.3 恒等射

恒等射は自らを自らに写す射だ。これだけのことなので、今回の記事は簡単に済ますつもりでいた。

しかし、沢山ある射の中で恒等射を特別に圏の定義の中に含める必要がなぜあったのだろうか。恒等射は英語ではIdentity(あるいはIdentity Morphism)である。

アイデンティティという用語は、自然科学で使っているときは軽やかに通り過ぎてしまうが、社会科学で用いるときは何とも重い感じがする。最近の英国のEUからの離脱や、米国でのトランプ氏の大統領候補選出などを観察していると、英国や米国の本来のアイデンティティがむき出しで表れてきたのではないかと感じさせられる。

世界が大きく変わってきているなと感じていたさなか、昨日、あるカルチャセンターで、本郷和人東大教授から鎌倉時代の話を伺った。その日の話題とは関係なかったのだが、冒頭でエマニュエル・トッドの家族型の説明を受けた。トッドは、ソ連邦の崩壊を予想し、実際にそのようになったことから注目され、今またEUの崩壊を予想している人口学の研究家である。

彼は、家族型を8つに分類し、それぞれの型と社会とがどのような関係にあるかを論じている。大きな分類としては、核家族、直系家族、共同体家族である。核家族とは一組のカップルが、直系家族とは二組(親と子の夫婦)あるいは三組(孫の夫婦まで一緒の場合)のカップルが、共同体とは多数(親族)のカップルが共に住むことが慣習となっているような家族制度である。

核家族は、さらに、絶対核家族(平等には無関心)と平等主義核家族に分かれ、前者にはイングランド、米国が含まれ、後者にはフランス北部(パリ)が含まれる。直系家族にはドイツや日本が含まれる。共同体家族は、さらに三つに分類されるが、外婚制共同体家族(いとこ婚は禁止)はロシア、旧ユーゴスラビア、中国が、内婚制共同体社会(いとこ婚は優先)には西アジア中央アジアが含まれる。

家族制度は、共同体社会→直系家族→核家族へと進化していくと考えがちだが、そうではないとエマニュエル・トッドは主張している。中心となっている地域が多くのカップルを含む家族制度に移行すると、その周辺地域には中心地域の家族制度が押し出され、さらに、その辺縁地域には周辺地域の家族制度が押し出されるとのことである。ユーラシア大陸には六つの中心地域があり、それらはロシア、中国などである。それらの国は共同体家族制度である。その周辺国であるドイツ、日本は直系家族制度であり、さらにその辺縁国であるイングランド核家族である。とても、面白い考え方で魅了される。

この研究成果は、『家族システムの起源』(2分冊)として出版されているので、機会を見つけて読んでみたいと思っている。
f:id:bitterharvest:20161015094017j:plain

エマニュエル・トッドは家族制度と基本的価値観やイデオロギーとの関係を見い出し、EU(具体的にはユーロ)の分裂、押し寄せる難民など、現代社会が抱える問題の結末を大胆に予測している。

家族制度は生活や考え方そして倫理観まで規定するであろうから、家族制度はそれぞれの人にアイデンティティを与えているといってよい。そして、人々がアイデンティティを大事にするとき、その結果として、現代社会が内包している危険な社会問題を引き起こすことになる。かといって、問題を解決するために、アイデンティティを捨てる訳にもいかないであろうから、今日の問題の解決は極めて難しい(今日のグローバリゼーションはアイデンティティの喪失を伴う。アイデンティティを失ったとき、人は何を夢見て生きていくのだろうか。経済合理性だけだとすると寂しすぎる)。

アイデンティティは、自分を赤裸々にするということともいえるが、圏論の恒等射の役割もここにある。圏論は、射だけでいろいろな性質を表現しようとするものだが、自身を表現しようとすると恒等射が必要になる。このため、射の中でも恒等射は特別な意味を有している。決して忘れてはならない射である。アイデンティティを必ず持ちましょうという射である。

恒等射は、一言でいうと、この記事の冒頭で述べたように、自らを自らに移す射である。従って、ドメイン(Domain)とコドメイン(Codomain)は同じ対象になるが、ドメインとコドメインで要素が入れ替わっているような射は恒等射ではない。
f:id:bitterharvest:20161015130942p:plain
あくまでも同じ要素への射でなくてはならない。
f:id:bitterharvest:20161015131002p:plain

恒等射をHaskellで実現してみよう。とても簡単で、全ての要素に対して同じ要素を返すようにすればよい。そこで、恒等射でのドメイン側の要素とコドメイン側の要素を対にしたリストで出力するプログラムを作成すると、次のようになる。

identity :: [a] -> [(a,a)]
identity a = [(x,x) | x <- a]

実行結果をいくつか示そう。

Prelude> :load "Identity.hs"
[1 of 1] Compiling Main             ( Identity.hs, interpreted )
Ok, modules loaded: Main.
*Main> identity [1..4]
[(1,1),(2,2),(3,3),(4,4)]
*Main> identity ['a'..'f']
[('a','a'),('b','b'),('c','c'),('d','d'),('e','e'),('f','f')]
*Main> identity ['a','g','f','k']
[('a','a'),('g','g'),('f','f'),('k','k')]