On two tricks to make Category Theory fjt in less mental space: missing diagrams and skeletons of proofs A talk at the “Creativity 2019” conference in honor of Newton da Costa’s 90th birthday Rio de Janeiro, december 11, 2019 By: Eduardo Ochs eduardoochs@gmail.com http://angg.twu.net/math-b.html#2019-newton
2 Introduction Most texts in Category Theory (“CT” from here on) are full of expressions like this: I was absolutely fascinated by this “the”. an action on morphisms, and guarantees, or proofs, that it respects identities and compositions. That “the functor” implies that the reader should be able to fjgure out by himself the action on morphisms, i.e., “Let’s write ( A × ) for the functor that takes each object B to A × B ” A functor — say, ( A × ) — has an action on objects, the precise meaning for ( A × ) f when f : B → C , and to check that this ( A × ) respects identities and compositions.
3 Introduction (2) is a 4-uple: The “the” in suggests that learning CT transforms you in a certain way... ...you become a person who can defjne functors in a very compact way, and the other CT people will understand you. (I wanted to become like that when I’d grow up) Formally, a functor ( A × ) : Set → Set ( A × ) = (( A × ) 0 , ( A × ) 1 , respids ( A × ) , respcomp ( A × ) ) “ ( A × ) is the functor that takes each object B to A × B ” you become a person who can infer ( A × ) 1 , respids ( A × ) , and respcomp ( A × ) from just ( A × ) 0 ...
4 Functions with and without names Consider this function: There are two easy ways to work with functions without names... f : { 1 , 2 , 3 } → Z a �→ 10 a It has a name: f .
5 Way 2: Both ways drop some information: Lambda notation So: So: Way 1: includes the domain (a “type”!), but we are in a hurry... A function is a set of input-output pairs: f = { (1 , 10) , (2 , 20) , (3 , 30) } f (2) = { (1 , 10) , (2 , 20) , (3 , 30) } (2) = 20 A function is a program in λ -notation: f = ( λa. 10 a ) f (2) = ( λa. 10 · a )(2) = (10 · a )[ a := 2] = 10 · 2 = 20 name, codomain, and, in the case of ( λa. 10 · a ) , domain. There is a also this notation: ( λa : { 1 , 2 , 3 } . 10 · a ) , that
6 ✤ acts on a particular element. acts on a generic element. � � ✤ � ✤ � ✤ Internal diagrams � ✤ � acts on another element. ✤ � − 1 0 0 1 1 √ 2 2 √ √ : → N R 3 3 √ n �→ n 4 2 √ n n √ N R � √ n shows how √ The n ✤ � √ 3 shows how √ The 3 ✤ � 2 shows how √ The 4 ✤
7 � � � ✤ � Internal diagrams in categories (Some conventions come from fjbrations) � Above: internal view (without the blobs) ✤ Below: external view F 0 C C FC FC ✤ F 1 � g F g F 0 D D FD FD F A B Above A : objects and morphisms of A (same for B ) Above F : the actions of F on objs and morphisms
8 ✤ � ✤ � � � � The shape of Beck-Chevalley � � � � � ✤ � � � � � � � � � ✤ � f ′∗ P f ′∗ P f ′∗ P f ′∗ P P P P ◗ ❋ ❋ ◗ ✝ ❋ ✝ ◗ ❋ ◗ ❋ ❋ ◗ ❋ ❋ ◗ ◗ ❋ ❋ ◗ ❋ ❋ ❋ ❋ � f ′∗ z ∗ Σ z P ❋ z ′∗ f ∗ Σ z P z ′∗ f ∗ Σ z P z ′∗ f ∗ Σ z P ❋ f ′∗ z ∗ Σ z P f ′∗ z ∗ Σ z P z ∗ Σ z P z ∗ Σ z P z ∗ Σ z P ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ✝ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ✝ Σ z ′ f ′∗ P Σ z ′ f ′∗ P Σ z ′ f ′∗ P ❋ ❋ Σ z P Σ z P ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ♮ � ❋ BCCL ❋ id ❋ ❋ ✝ ✝ f ∗ Σ z P f ∗ Σ z P f ∗ Σ z P f ∗ Σ z P Σ z P Σ z P Σ z P X × Y Z X × Y Z Z Z ❋ ❋ f ′ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ z ❋ ❋ ❋ ❋ ❋ ❋ ❋ z ′ ❋ ❋ ❋ ❋ ❋ ❋ ❋ ❋ f X X Y Y
9 What I was trying to understand Short answer: categorical semantics should be more intuitive in which each fjber is cartesian-closed, and Also, all Beck-Chevalley maps and all Frobenius maps in it are invertible What are the intended semantics of these operations? Can I work in the abstract defjnition and in the intended semantics “in parallel”? Part of the long answer: hyperdoctrines are important but the defjnition of hyperdoctrine is super-hard... A hyperdoctrine is a fjbration p : E → B over a base category B with fjnite products, in which every change-of-base functor f ∗ has adjoints Σ f ⊣ f ∗ ⊣ Π f ... (yuck! Plus lots of details...)
10 ✤ � � � Parallel diagrams � � ✤ � � � � ✤ ✤ � An example: “using diagrams with the same shape”. Yes, if by “in parallel” we mean ...what are the intended semantics of these operations? � Can I work in the abstract defjnition and in the intended semantics “in parallel”? ✤ ( A × ) 0 � ✤ ( A × ) 0 � F 0 ( A × ) B ( A × ) B A × B A × B X X FX FX B B B B ✤ F 1 � ( A × ) 1 ( A × ) 1 g F g f ( A × ) f f λp. ( πp,f ( π ′ p )) ✤ ( A × ) 0 � ✤ ( A × ) 0 � F 0 Y Y FY FY C C ( A × ) C ( A × ) C C C A × C A × C ( A × ) � ( A × ) � F A B Set Set Set Set
11 (hard) external � � Parallel diagrams - Logic for Children � external view � meaning “for adults” case � general generalize (easy) The main techniques discussed in the workshop “Logic for Children” (in the UniLog 2018, in Vichy ) involved parallel diagrams... particular case “for children” semantics particularize � � intended � � categorical � ❴ ❴ ❴ ❴ ❴ ❴ ❴ ❴ ❴ ❴ � � � � internal + ❴ ❴ ❴ ❴ ❴ ❴ ❴ ❴ ❴ ❴
12 An example from Topos Theory In 2018 I was using these techniques — parallel diagrams, internal views, particular cases, fjnite examples “for children” — to understand things in Topos Theory... I was super happy because with these techniques I fjnally was able to understand some things about toposes and sheaves, that before were MUCH more abstract than my brain could handle... ..and I showed this fjgure, of a particular case of a geometric morphism that induces a sheaf... (This particular case is rich enough to give me a lot of intuition about GMs and shaves)
13 � ✤ � � � � � � � � � � � � � � � (for children; inclusion, sheaf) ✤ (for adults) F 1 F 1 ւ ւ ց ց � � � � F 2 F 2 F 3 F 3 F 2 F 2 F 3 F 3 ց ց ւ ւ ց ց ց ց ւ ւ ց ց F 4 F 4 F 5 F 5 F 4 F 4 F 5 F 5 ց ց ւ ւ F 6 F 6 f ∗ F f ∗ F F F G 2 × G 4 G 3 G 2 × G 4 G 3 ւ ւ ց ց � � � � G 2 G 2 G 3 G 3 G 2 G 2 G 3 G 3 ց ց ւ ւ ց ց ց ց ւ ւ ց ց G G f ∗ G f ∗ G G 4 G 4 G 5 G 5 G 4 G 4 G 5 G 5 ց ց ւ ւ 1 1 f ∗ f ∗ F F E E Set A Set A Set B Set B f ∗ f ∗ 1 ւ ց � � f � 2 3 2 3 ց ւ ց ց ւ ց 4 5 4 5 ց ւ 6
14 I felt that I had some techniques for creating “the right (fjnite) examples”, and these examples could give me/us a lot of intuition on Topos Theory... That was quite nice, but then I started to ask: between parallel diagrams? My fjrst answer was: what exactly is this “intuition”? What kinds of knowledge are transferred in two parallel diagrams A and B with entities A 1 , . . . , A n , B 1 , . . . , B n , the relations between the entities in A and the correpondent entities in B are the same if we see these entities as λ -terms. So: let’s study this! ↑
15 � � ✤ � � � � � � � � � � � ✤ See: http://angg.twu.net/math-b.html#notes-yoneda � Formalizing the Yoneda Lemma in λ -calculus 1 1 γ γ C ( B → C ) ( B → C ) C RC RC ( C → _ ) ( C → _ ) T � (1 → ( B → _ )) (1 → ( B → _ )) T � ( C → _ ) ( C → _ ) (1 → R _ ) (1 → R _ ) ▼ ❑ ▼ ❑ ▼ ❑ ▼ ❑ ▼ ❑ ▼ ❑ ▼ ❑ ▼ T ′ ❑ ▼ T ′ ❑ ❑ ( B → _ ) ( B → _ ) R R
16 � ✤ � Formalizing the Yoneda Lemma in λ -calculus (2) A ∈ A C ∈ C A R : A → C γ : A → RC γ γ := TC (id C ) C RC RC ( C → _ ) : C → Set ( C → _ ) 0 ( D ) = Hom C ( C, D ) T � ( C → _ ) ( A → R _ ) ( C → _ ) 1 ( h ) = λg. ( g ; h ) ( A → R _ ) : C → Set ( A → R _ ) 0 ( D ) = Hom A ( A, RD ) ( A → R _ ) 1 ( h ) = λδ. ( δ ; Rh ) T : ( C → _ ) → ( A → R _ )
17 Categories, functors, NTs, etc, in Idris-ct I decided to grow up, and instead of only writing the formalizations as I’ve been doing for ages — I would fjnally learn a language with dependent types and I would implement my Yoneda — or at least of my diagrams as λ -terms “by hand” in a system of λ -calculus with dependent types, that doubles as a proof assistant: Idris — its translation to λ -terms — in Idris, on top of its library for Category Theory, Idris-ct...
Recommend
More recommend