2013年8月7日 星期三

範疇論的學習進程

對於理論電腦科學的研究生來說,範疇論書籍的選擇跟數學系的稍微不同,以下是給自己的建議:

入門書的部分

  • Mac Lane 的 Categories for Working Mathematician 對數學背景的學生是非常好的起點,尤其是修過研究所代數,大概對於 colimits, limits, universal property 以及 adjunction 已經有粗略的概念。對數理邏輯沒興趣的,跳過 topos 跟 foundation 跟 metacategory。跳過七八兩章,直到 Kan extension 之前大概都需要熟悉。第八章如果需要要學 homology 或是學過再回來看就好。跳過的部分之後再補都好。
  • Goldblatt 的 Topoi: The Categorial Analysis of Logic 其實是基礎的範疇論介紹,加上 topos 理論的基礎。細節寫得很詳細,非數學基礎的人應該也能看得懂。topos 跟邏輯間的關係寫得不錯,而且本書是作者的畢業論文,網路上就能下載。
  • B. Lawvere 寫的 Conceptual Mathematics: A First Introduction to Categories 據說不錯,但我沒仔細看過。
範疇論有了基礎概念 (CWM) 後,接下來才是挑戰的開始,有幾本書可以參考:


  •  Borceux 寫的 Handbook of Categorical Algebra 第一冊有許多進階的議題,例如範疇上的分解系統(factorisation system)跟 reflective subcategories 的對應,還有範疇上的 Cauchy 完備化構造,正如標題所示是百科全書型的。本書的寫法比較基礎,每個證明都有完整有時稍嫌囉唆,各個章節拆開來看也不會有什麼問題,建議是用到再看。偶爾會有小錯誤,讀者應有能力修正。
  • Handbook of Categorical Algebra 第二冊,集中在代數範疇及相關的概念,enriched category theory 跟纖叢(fibration),這幾個主題都只有入門題材深度不夠,但容易上手。一樣有需要再看。
  • 至於第三冊就可以不用看了,有心理解 topos 理論的話,Mac Lane 跟 Moerdijk 寫的 Sheaves in Geometry and Logic 以及 P. Johnstone 寫的 Sketches of Elephants 才夠。
  • Adámek 跟 Rosicky 寫的 Locally Presentable and Accessible Categories 討論一大類日常會用到的範疇,建立了一階邏輯與範疇間的對應,也給了非常多的例子,不需要其他的額外知識就能讀。值得從頭到尾看完,手法比較接近 CWM 非常具體。
  • M. Kelly 的 Basic Concepts in Enriched Category Theory 算是學習 enriched category theory 最完整的書,但非常難讀抽象而且細節很多都被略過了。前三章的內容可以先看前面提的 Handbook of Categorical Algebra,再跳回來看 Kelly。難懂但仍然值得一讀。此書手法非常漂亮,尤其是 Yoneda lemma, weighted (co)limits, 跟各種高階抽象觀念的大量運用,往回讀 CWM 的 density 跟 accessible category 會有種豁然開朗的感覺。
  •  B. Jacobs, Categorical Logic and Type Theory 跟前面的都沒什麼關係,主要討論 fibration 跟數理邏輯與 type theory 之間的關係,基本上是 Curry-Howard correspondence 的範疇版本。雖然很厚將近八百頁,但是讀起來很順暢,細節處理得不錯,習題設計也很好。
基本上電腦科學界的研究論文,用到範疇論的大多在這幾本都找得到足夠的背景知識。另外,也有在入門書之前更基礎的書,給完全沒數學背景的讀者:像是 S. Awodey 的 Category Theory 或是 B. Pierce 寫的 Basic Category Theory for Computer Scientists。但看完後要搞懂 CWM 依然很困難。

最後,倒行逆施法:Mac Lane 馬上接著 M. Kelly (全部)。這樣遇到範疇論應該沒有看不懂的。二維範疇還可以用 "a category enriched by the category of small categories" 來理解;更高維的如法炮製。能夠在短期之內看完的話,的確是很省事 ...

沒有留言:

張貼留言

留言也可用 \$...\$ 輸入 $\LaTeX$ 語法(注意:預覽畫面無法顯示)