2023.1 🐈 Category Theory (IMD0103)

Contact:thanos@imd.ufrn.br (though you should use Zulip instead)
Horários de aula: 24T56 [16h50–18h30]
Sala: A102
Monitoria/TA: fmc.imd.ufrn.br
Older semesters: ..

Info

Prereqs

  • obvious:
    • {will, time} to {pratice, study, research}
  • required:
    • some mathematical maturity: you should be able to reason and to express mathematical ideas in natural mathematical language;
    • you must have learned well the main subjects of FMC1—do contact me if you are unsure, especially given the weak (or inexistent) grading that frequently takes place in this course;
    • familiarity with the general ideas and tools of abstract algebra;
  • if you have not passed FMC2 yet, at the very least you must enroll in my FMC2 class this semester to take it in parallel with cats;
  • if you want to revise some material related to FMC1 (IDMa, IRI, IDMb), do check the prereqs for my FMC2 class of this semester for useful information;
  • if you want to revise some material related to FMC2, do check chapters 7–13 of fmcbook and maybe 2022.1’s site.

(Obs. 1: learnpass.)

(Obs. 2: studyread.)

Syllabus

The principal objective of this «topics» course in category theory is to introduce categorial notions, tools, and vocabulary, with focus on connections and application in computer science. We should also be able to have primers in type theory and denotational semantics of programming languages; this will depend crucially on the interest and work of the students.

Categorias

Definitions and examples. Commutative diagrams. Definitions using arrows. Languages of functional programming as categories. Constructions in categories. Universal constructions. Epis and monos. Duality principle. Products and coproducts. Equalizers and coequalizers. Limits and colimits. Functors. Deduction systems as categories. Exponentials. CCC (Cartesian closed categories) and lambda calculus. Natural transformations. Yoneda lemma. Adjunction. Monads.

Bibliography

(Heard of libgen.rs?)

Main texts

Auxiliar

(Co)algebras and (co)induction

Order theory

  • Moschovakis: Notes on Set Theory (2nd ed.) (cap. 6)
  • Davey & Priestley: Introduction to Lattices and Order [DP]

Boolean Algebras

  • Halmos: Lectures on Boolean Algebras (1963)
  • Bell & Machover: A course in Mathematical Logic (cap. 4)

Teoria dos tipos

Tips

Tecnologias e ferramentas

Obs.: As tecnologías/ferramentas seguintes podem mudar durante a disciplina—exceto a primeira.

  1. PAPEL (um caderno para dedicar à disciplina) e LAPIS/CANETA.
  2. Zulip (leia o FAQ).

Regras

  1. Nunca escreva algo que você mesmo não sabe explicar: (i) o que significa; (ii) seu papel na tua resolução. Por exemplo: um aluno escreveu a frase seguinte na sua demonstração: «Como f é cancelável pela esquerda temos que g=h». Ele deve saber o que significa ser cancelável pela esquerda e também explicar como isso foi usado e/ou o que isso tem a ver com essa parte da sua demonstração.
  2. Qualquer trabalho poderá ser questionado em forma de prova oral, em modo privado ou aberto. Se um aluno não consegue explicar o que ele mesmo escreveu numa resolução, será considerado plágio (veja abaixo).
  3. Participando, nunca dê uma resposta que tu não pensou sozinho, exceto dando os créditos correspodentes.
  4. Não tente “forçar a barra” perguntando ou respondendo coisas aleatórias com objetivo único de ganhar pontos. Os pontos de participação não correspondem em apenas perguntas ou dúvidas que mostram interesse. O interesse é implícito pelo fato que tu escolheu matricular nesta turma—não vale pontos.
  5. Não procurem informações ou resoluções em qualquer lugar fora dos indicados em cada homework. O único recurso aceitável para procurar ajuda é no nosso Zulip (especificamente seus canáis públicos—não DM) e a monitoria.
  6. Proibido consultar o apêndice de resoluções do fmcbook durante a disciplina exceto quando for explicitamente permitido por mim. (Os apêndices de dicas são permitidos sim.)

Uns deveres dos alunos

  1. Visitar o site e o Zulip da disciplina pelo menos uma vez por dia durante o semestre. (Qualquer coisa postada no site ou no Zulip da disciplina será considerada como conhecida por todos os alunos da turma.)
  2. Estudar o conteúdo lecionado e tentar resolver todos os trabalhos atribuidos.
  3. Participar no Zulip diariamente, compartilhando tuas resoluções para receber feedback, e checando as resoluções de outros colegas para dar feedback.
  4. Checar e atender seu email cadastrado no SIGAA pelo menos uma vez por dia durante o semestre.
  5. Participar nas aulas! Obs.: tendo uma dúvida durante a aula, levante a mão para solicitar “a fala” e assim que a receber, pergunte! Não espere o fim da aula para discutir tua dúvida em “modo particular”! A maioria das vezes eu vou negar isso e pedir ao aluno iniciar a discussão no Zulip ou na próxima aula.
  6. Participar nas aulas de exercícios de monitoria e utilizar seus horários de tirar dúvidas.

(Veja também os FAQs relevantes.)

Sobre plágio

  1. Plágio detectado implica que o aluno será reprovado imediatamente por nota e por faltas.
  2. Entregar tuas resoluções para um aluno copiar é proibido do mesmo jeito, e também não ajuda mesmo ninguém.

Cadernos vs. celulares

Não faz sentido aparecer na aula sem caderno. E não faz sentido aparecer na aula com celular ligado; bote no modo avião antes de entrar na sala. As aulas são interativas e se não pretende participar e concentrar nesses 100 minutos, sugiro ficar fora e escolher uma outra maneira de passar teu tempo. Não é necessário (e obviamente nem suficiente) aparecer nas minhas aulas para passar.

Avaliação e faltas

Disclaimer. Eu suponho que os alunos desta turma escolheram se matricular por interesse em aprender seu conteúdo. O ideal seria ignorar assuntos irrelevantes de avaliação, presenças, carga horária, etc., e se jogar nos estudos.

Avaliação

A nota final de cada aluno vai ser principalmente baseada em um ou mais dos: (i) provas escritas; (ii) sua participação; (iii) trabalhos atribuidos; (iv) hw resolvidos (veja o FAQ relevante).

Cada aluno será responsável para manter organizado e bem escrito o seu caderno com todos os teoremas e exercícios que estudou durante a disciplina.

Presenças e faltas

A presença pela regulação da UFRN é obrigatória. Os alunos que não gostam/querem/podem aparecer nas minhas aulas ainda tem chances de ganhar até nota máxima e aprovar na disciplina. Ou seja: alunos que escolhem não participar ou aparecer nas aulas, e mesmo assim aparecem nas provas escritas e conseguem nota final de aprovação vão ter sua porcentagem de faltas ajustada para não reprovar por faltas. Esclarecimento: alunos que não conseguem nota final de aprovação não terão sua porcentagem de presença ajustada de jeito nenhum e por nenhum motivo.

Obviamente, alunos que não aparecem nas aula não terão como ganhar pontos de participação—duh!—nem acesso nos pontos de possíveis provas-surpresas.

As presenças/faltas serão cadastradas usando o sistema Plickers (veja o FAQ relevante).

Atrasados

Definição (atrasado). Seja $a$ aluno desta turma. Dizemos que $a$ é atrasado sse $a$ não está já sentado na sua mesa, com seu caderno já aberto, seu celular já desligado e na mochila, no momento que a aula começa.

Tentem estar presentes na sala da aula ANTES do horário do seu começo, e fiquem até o fim da aula.

Caso que alguém chega atrasado: não faz sentido bater na porta da sala de aula; não faz sentido cumprimentar nem o professor (não é mostra educação cumprimentar nesse caso—pelo contrário!) nem os amigos/colegas da aula. Entrando numa sala onde a aula já começou, tentem fazer sua entrada o menos possível notada por os participantes pois atrapalha a concentração de todos.

FAQs

Dynamic content

Scoreboard

Exams

Categories

Orders

Homework

Leia bem o FAQ sobre hw. Note também que:

  • Homeworks are also assigned during classes and on Zulip.

Inventory of cats 🐈

  • 𝟘, 𝟙, 𝟚, 𝟛, …
  • $\mathbf{Set}$, $\mathbf{Set_{\mathsf{fin}}}$, $\mathbf{Set_{\mathsf{inj}}}$
  • $\mathbf{Set_{\star}}$
  • $\mathbf{Semigroup}$, $\mathbf{Monoid}$, $\mathbf{Group}$, $\mathbf{Abel}$, $\mathbf{Ring}$
  • $\mathbf{Poset}$
  • ℂ(S), where S is a set (discrete categories)
  • ℂ(ℳ), where ℳ is a monoid
  • ℂ(𝒢), where 𝒢 is a group
  • ℂ(𝒫), where 𝒫 is a proset
    • $\mathbf{Int}_{(\mid)}$
    • $\mathbf{Int}_{(\leq)}$
    • $\mathbf{Set}_{(\subseteq)}$
  • ℂ(L), where L is a typed programming language
  • ℂ(D), where D is a logic derivation system

2023-03-14: (hw1._)

  1. Verify that the alleged examples of categories we saw in class, are indeed categories.
  2. Can we prove uniqueness for initial objects?
  3. What about terminal ones? [Give a nice answer on this one.]
  4. Draw—no looking!—diagrams whose commutativity means:
    1. the identities laws
    2. the associativity law
    3. that a function φ : A → B respects a binary operation on A
    4. that a function φ : A → B respects a unary operation on A
    5. that a function φ : A → B respects a constant of A
    6. that a binary operation on A is commutative
  5. In the diagram with two adjacent squares we saw in class, prove that if both squares commute, the whole diagram commutes.
  6. Let ℂ be a category with only one object ⋆. What can you tell about the collection ℂ(∗,∗)?
  7. Consider 𝕄 having natural numbers as objects and let 𝕄(n,m) be the collection of all matrices of size n×m. Complete this idea to create an actual category.
  8. Let $\mathbf{Pos}$ have as objects all posets. Which should be the arrows here?
  9. Let $L$ be a typed programming language. To make a category out of $L$, consider its types as objects. What should the arrows be? What features must this language have in order for this to work out?
  10. Let $S$ be a set. How can we turn this as a category?
  11. Let $P$ be a pointed set. How can we turn this as a category?

2023-03-27: (hw2._)

  1. We saw one way to turn a pointed set into a category. Give another one.
  2. Show that in the definition of isomorphism, we cannot infer the commutativity of one part of the diagram, given the other.
  3. Is the inverse of an arrow unique?
  4. Show that (≅) is an equivalence relation.
  5. Write (by yourself) the definition of product in a category.
  6. Find to what concept «initial» and «terminal» translate within each of the categories we have met so far.
  7. In particular, do this for $\mathbf{Ring}$.
  8. Do the same for the concept of «product».
  9. Dualize the definition of a product to define the coproduct.
  10. Observe that dualizing twice yields the original definition, and therefore get the joke that «for a category theorist, every nut is a coconut» 🥥.
  11. Find to what concept «coproduct» translates within each of the categories we have met so far.
  12. Prove “uniqueness” for: terminal objects, initial objects. (Why the quotation marks?)
  13. Prove “uniqueness” for: products, coproducts.
  14. In class we defined monoid and group from the point of view of category theory. Do the same for groupoid.
  15. Knowing already about groups, rings, etc., we have defined the category $\mathbf{Group}$ of groups, the category $\mathbf{Ring}$ of rings, etc. But now we also know what a category is. (How) would you define the category $\mathbf{Cat}$ of categories?

2023-03-31

  1. ctcs, §§2.1–2.5

2023-04-03: (hw3._)

  1. Verify that ℤ is initial in $\mathbf{Ring}$.
  2. Is there a terminal in $\mathbf{Ring}$?
  3. $\langle \mathit{outl}, \mathit{outr} \rangle = 1_{A\times B}$
  4. $\langle f \circ h, g \circ h \rangle = ?$
  5. $1_A \times 1_B = ?$
  6. $(\times)$-assoc
  7. $(\times)$-com
  8. Is 1 an identity for $(\times)$?
  9. Is 0 an identity for $(+)$?
  10. Is 0 an annihilator for $(\times)$?
  11. $(f \times h) \circ \langle g,k \rangle = ?$
  12. $(f \times h) \circ (g \times k) = ?$
  13. f × g ≝ ?
  14. f + g ≝ ?
  15. Prove that within $\mathbf{Group}$ the not-so-white lies mathematicians tend to say and believe do not lead to confusions:
    1. mono means inj homo
    2. epi means surj homo
    3. iso means mono & epi
    4. iso means bij homo
  16. Find counterexamples—obviously not in $\mathbf{Group}$—for each of these misconceptions.
    • as a particular hint: verify that in $\mathbf{Monoid}$, the canonical “inclusion” ℕ↪ℤ is epic but not surjective.
  17. In $\mathbf{Set}$, prove:
    1. inj ⇒ mono?
    2. inj ⇐ mono?
    3. surj ⇒ epi?
    4. surj ⇐ epi?
    5. mono ⇒ split mono?
    6. mono ⇐ split mono?
    7. epi ⇒ split epi?
    8. epi ⇐ split epi?
  18. We discussed some equations about pairing ⟨_,_⟩ and the product of arrows _×_. Infer (and establish) the corresponding equations about copairing $\left\{{{\vphantom f-} \atop {\vphantom g-}}\right\}$ and the coproduct of arrows _+_ (aka _⨿_).

2023-04-04

  1. ctcs, §§2.7

2023-04-05 (hw4._)

  1. $(\mathbb C\downarrow C)^{\mathrm{op}} = {?} $
  2. $(\mathbb C\uparrow C)^{\mathrm{op}} = {?} $
  3. $(\mathbb C^{\to})^{\mathrm{op}} = {?} $
  4. Which of the following are functors?
    1. $(\mathbb C / {-}) : \mathbf{Cat} \to \mathbf{Cat}$
    2. $({-} / \mathbb C) : \mathbf{Cat} \to \mathbf{Cat}$
    3. $({-})^{\mathrm{op}} : \mathbf{Cat} \to \mathbf{Cat}$
    4. $({-})^{\to} : \mathbf{Cat} \to \mathbf{Cat}$
  5. Find a functor from $\mathbf{Set}$ to $\mathbf{Group}$

2023-04-10 (hw5._)

  1. Define coequalizers
  2. Figure out to what known concept coequalizers correspond to, in 𝐒𝐞𝐭
  3. Prove that equalizers are mono
  4. Investigate the converse
  5. Prove that epic equalizers are iso
  6. Does 𝐂𝐚𝐭 have an initial object?
  7. Does 𝐂𝐚𝐭 have finite products?
  8. (How) can we define ℂ+𝔻?

2023-04-18 (hw6._)

  1. Investigate $\mathrm{Hom}({-},B)$
  2. T.f.a.e:
    • (i) $f : X \to Y$ iso in ℂ
    • (ii) $(\forall C\in\mathbb C)[ \text{$(f \circ) \equiv f_* : \mathbb{C}(C,X) \to \mathbb{C}(C,Y)$ bijective} ]$
    • (iii) $(\forall C\in\mathbb C)[ \text{$(\circ f) \equiv f^* : \mathbb{C}(Y,C) \to \mathbb{C}(X,C)$ bijective} ]$
  3. in any proset, (≅) is an equivalence relation
  4. joins and meets are determined up to (≅)
  5. How would you define $(<)$ in a proset?

2023-04-24 (hw7._)

  1. We defined two candidate-p(r)osets for P×Q. Can you pick one?
  2. We defined two candidate-p(r)osets for P+Q. Can you pick one?
  3. [DP]: Exercises: 1.1, 1.2, 1.3, 1.7, 1.8, 1.9, 1.10, 1.27

2023-04-24 (hw8._)

  1. Prove:
    • 𝒪(P⊕1) ≅ 𝒪(P)⊕1
    • 𝒪(1⊕P) ≅ 1⊕𝒪(P)
    • 𝒪(P⊎Q) ≅ 𝒪(P)×𝒪(Q)
  2. [DP]: Exercises: 1.5, 1.11, 1.12, 1.13, 1.18, 1.19, 1.22, 1.23, 1.24, 1.26

2023-05-04 (hw9._)

  1. Can you find a non-distributive lattice?
  2. Which of the P(r)oset constructions/operations we have defined work for lattices? (Don’t forget the vertical sum $(\overline{\oplus})$ of Exercise 1.18.)
  3. [DP]: Exercises: 1.27
  4. [DP]: Exercises: 2.1, 2.2, 2.5, 2.6, 2.10, 2.11

2023-05-09 (hw10._)

  1. Can you find a non-modular lattice?
  2. Prove (safe-distr)
  3. Prove (safe-modul)
  4. Rewrite the proof of our first fixpoint theorem (no peeking!)

2023-05-10 (hw11._)

  1. Q: Is there a lattice that has no infinite chain, but has finite length?
  2. Find a lower-adjoint for the function (3·_) : ℤ → ℝ.
  3. Θ. A proset that has all meets, also has all joins
  4. Are (binary) meets guaranteed in (A⇀B)?
  5. Θ. Distributive lattice ⇒ Modular lattice
  6. Θ. T.f.a.e.:
    • (i) (∀a≥c)[ a∧(b∨c) = (a∧b)∨c ]
    • (ii) (∀a≥c)[ a∧(b∨c) = (a∧b)∨(a∧c) ]
  7. Consider the following proposition:
    • (∗) if neither of (∨t) and (∧t) distinguishes u and v, then u = v
    • (i) Understand what (∗) means and spell it out in a proposition
    • (ii) Prove (∗) for distributive lattices
    • (iii) Find witnesses for its failure in 𝐌₃ and in 𝐍₅
    • (iv) Conclude: distributive ⇔ (∗)
  8. Prove the 𝐌₃–𝐍₅ theorem
  9. Θ. Let P be an inhabited poset. T.f.a.e.:
    • (i) P is a complete lattice
    • (ii) ⋀S exists for all S⊆P
    • (iii) P has ⊤ and ⋀S exists for all inhabited S⊆P
  10. Θ. Let L, K be lattices, and f : L → K a map. T.f.a.e.:
    • (i) f order-preserving
    • (ii) f “postpones” joins: f(a∨b) ≥ fa ∨ fb
    • (iii) f “prepones” meets: f(a∧b) ≤ fa ∧ fb
  11. [DP] 2.25, 2.26, 2.35, 4.3, 4.6

2023-05-19 (hw12._)

  1. How would you define the free lattice $\mathcal L(A)$ generated by some set of generators $A$?
  2. The free monoid $\mathcal M(A)$?
  3. The free group $\mathcal G(A)$?
  4. Draw the free lattice generated by $b \leq a$ and $c$.

2023-05-23 (hw13._)

  1. Prove that what we claimed to be the free monoid ℳ(A), really is.
  2. What is the coproduct of bottomed (also called pointed) posets?
  3. What is the product of groups? What about abelian groups?
  4. What is the coproduct of abelian groups? What about groups?

2023-05-25 (hw14._)

  1. Prove that in 𝐀𝐛𝐞𝐥, G×H is a coproduct of G,H.
  2. In 𝐆𝐫𝐨𝐮𝐩, find commutative groups G,H, such that G×H is not the coproduct of G,H.
  3. Let D be a discrete poset. Then: D cc ⇔ D = {⋆} ⇔ D flat.
  4. Which of the following are cc?:
    1. $(\wp A ; \subseteq)$
    2. $((A\rightharpoonup B);\sqsubseteq)$
    3. $((A\stackrel{\textrm{\tiny inj~}}{\rightharpoonup} B);\sqsubseteq)$
    4. (Chains(P);⊆)
    5. ω
    6. ω+1
    7. $A^{<\omega}$
    8. $A^{\leq\omega} (= A^{<\omega} \cup A^{\omega})$

2023-05-29 (hw15._)

  1. Θ. Let P,Q be cc posets and π : P → Q monotone. Then: π is countably continuous iff for every non-decreasing sequence x₀ ≤ x₁ ≤ ⋯ in P, π(limₙxₙ) = limₙ (π xₙ)
  2. Prove the «strongly least» part of the fixpoint theorem.
  3. Show easily that $\pi = \lambda f\,.\,\lambda n\,.\,\sum_{i=0}^n (f\, i)$ is continuous mapping of ((ℕ⇀ℕ)→(ℕ⇀ℕ)) and compute:
    • $\pi\,\mathit{double}\; 2$
    • $\pi\,(\lambda n\,.\,n^2 + 1)\; 3$
    • $\pi^2\,\mathit{double}\; 2$

2023-06-02

  1. [awodey], cap 3: «Duality»
  2. ctcs, §§2.6–2.9

2023-06-09: Boolean algebras (BA._)

  1. Can we have criteria similar to the one-test of groups for boolean homomorphisms?
  2. In a finite lattice, each filter $F$ is principal (i.e., generated by a single element $F = (x \leq {})$.
  3. If $A$ has the fip™ (or «$A$ fips») then $A \cup \{x\}$ fips or $A \cup \{x’\}$ fips. (Better term: «fmp», for «finite meet property». Definition: $A$ has the fmp iff finite meets from A are non-zero: (∀a₁,…,aₙ)[ a₁∧⋯∧aₙ ≠ 0 ].)
  4. Let $(A_i)_{i\in I}$ be a chain of subsets of $B$ that fip. Show that $\bigcup_i A_i$ fips.
  5. Let $\underline A$ be the set of all infima of all finite subsets of $A$. A base for a filter $F$ is a set $A$ such that $A^{\uparrow} = F$. A subbase for a filter $F$ is a set $A$ such that $\underline A$ is a base for $F$, so that $F = {(\underline A)}^{\uparrow}$. We say that $A$ generates $F$. Note that $A \subseteq \underline A \subseteq (\underline A)^{\uparrow}$. Let $A$ be a subset of a boolean algebra $B$. Prove the following:
    1. The set $(\underline A)^{\uparrow}$ is a filter.
    2. Any filter containing $A$ contains $(\underline A)^{\uparrow}$.
    3. $(\underline A)^{\uparrow}$ is proper iff $A$ fips.
  6. Let $F$ be a filter for a boolean algebra $B$. $F$ is an ultrafilter iff for each $b\in B$, either $x \in F$ or $x’ \in F$ but not both.
  7. Show that $X$ is a filter iff $X’ = \{x’ \mid x \in X\}$ is an ideal.
  8. Let $B$ be a boolean algebra, and let $F$ be a filter in $B$. Show that $\hat B = F \cup F’ \leq B$ and $F$ is an ultrafilter in $\hat B.$
  9. Let $\varphi : B \to C$ be a homomorphism of boolean algebras. Show that $\varphi$ is injective iff its kernel $\varphi^{-1}(0)$ is a singleton iff its hull $\varphi^{-1}(1)$ is a singleton.
  10. (From homos to filters:) Let f : B→C be a homomorphism and let H be its hull. H is a filter.
  11. (From filters to homos:) Let F be a filter of B. Define the operations $(\rightarrow),(\leftrightarrow)$ on $B$ by: $x \mathbin{\rightarrow} y = (x’ \vee y)$; $x \mathbin{\leftrightarrow} y = (x \mathbin{\rightarrow} y) \wedge (y \mathbin{\rightarrow} x)$. Define the relation $(\sim_F)$ on $B$ by: $$x \sim_F y \iff (x \liff y) \in F.$$
    1. Prove that $(\sim_F)$ is an equivalence relation.
    2. Prove that $(\sim_F)$ is a congruence for $B$.
    3. The above means that the set B/F of $(\sim_F)$-classes can be turned into a boolean algebra in the usual way. Prove that the standar projection $h : B \to B/F$ defined by $h(x) = [x]_{\sim_F}$ is a homomorphism from $B$ onto $B/F$, $F$ is the hull of $h$, where hull(h) = h⁻¹(1).
    4. Let h : B → B’ be a homomorphism of Boolean algebras and let Fₕ be the hull of h. Show that the image h[B] ≅ B/Fₕ.
  12. The following conditions on a filter F in a boolean algebra B are equivalent:
    • (a) B/F ≅ 𝟐;
    • (b) F is the hull of a 𝟐-valued homomorphism h : B → 𝟐;
    • (c) F is an ultrafilter;
    • (d) F is prime;
    • (e) for any b ∈ B, either b or b’ is in F.
  13. Prove the Ultrafilter Theorem: Every filter in a boolean algebra can be extended to an ultrafilter. …or at least prove the following corollaries:
    1. Each set of elements of a boolean algebra having the fip can be extended to an ultrafilter.
    2. Each non-zero element of a boolean algebra is contained in some ultrafilter.
    3. If x≠y then there is an ultrafilter containing one but not the other.

2023-06-15 (hw16._)

  1. Prove what we didn’t in class: the lfp(π) for the factorial is a total function.
  2. Give polynomial functors T that correspond to T-algebras adequate to describe algebraic structures and inductive data types that you care about.
  3. Understand the statement that [O,S] : 1 + ℕ → ℕ is a (1 + _)-algebra on ℕ.
  4. Define the following functions to streams:
    • map : (a → b) → Stream a → Stream b
    • zip : (Stream a, Stream b) → Stream (a,b)
    • only : a → Stream a
    • upFrom : Nat → Stream Nat
    • downFrom : Nat → Stream Nat
    • loop : Nat → Stream a → Stream a
    • merge2 : (Stream a, Stream a) → Stream a
    • preConcat : Nat → Stream a → Stream a → Stream a
    • drop : Nat → Stream a → Stream a
    • insertAt : Nat → a → Stream a → Stream a
    • insertEvery : Nat → a → Stream a → Stream a
    • takeStep : Nat → Stream a → Stream a

2023-06-17 (hw17._)

  1. Implement your solutions in Agda (Co.agda). (updated: 2023-06-18 21:51, local time)

2023-06-19 (hw18._)

  1. Prove the functoriality of products:
    • $\mathrm{id}_X \times \mathrm{id}_Y = \mathrm{id}_{X\times Y}$
    • $(f \circ h) \times (g \circ k) = (f \times g) \circ (h \times k)$
  2. Do the same for coproducts.
  3. Do the same for (finite) powersets.
  4. Θ. $\mathsf{head}\,(\mathsf{tail}^{2n}\, (\mathit{merge}\; (\sigma,\tau))) = \mathsf{head}\, (\mathsf{tail}^n\, \sigma)$
  5. Θ. $\mathsf{head}\,(\mathsf{tail}^{2n+1}\, (\mathit{merge}\; (\sigma,\tau))) = \mathsf{head}\, (\mathsf{tail}^n\, \tau)$
  6. Θ. $\mathit{merge}\; (\mathit{evens}\; \sigma, \mathit{odds}\; \sigma) = \sigma$
  7. Complete the proof that [O,S] : 1 + ℕ → ℕ is an initial T-algebra for T(X) = 1 + X.
  8. Find an initial T-algebra for T(X) = 1 + A×X and prove that it really is.
  9. Find an initial T-algebra for T(X) = 1 + X×X.
  10. Find an initial T-algebra for the signature of semigroups and prove that it really is.

2023-07-02

  • Free to study: Moschovakis on posets and fixpoints
  • Free to study: Halmos, Bell & Machover on Boolean Algebras
  • Free to study: Jacobs & Rutten on (co)algebras

2023-07-10 (hw19._)

  1. Verify that for a fixed set A, the operations $(X \mapsto X^A)$ and $(X \mapsto A^X)$ are functors, and identify which is covariant and which is contravariant.
  2. Prove that $a\supset b$ is an exponencial in $(\supset,\land,\top)$-IPL.
    • a⊃b ∧ a ⊢ b
  3. Give formation, introduction, and elimination rules for $(\lor)$ and $(\bot)$ (for IPL).
  4. Prove that 𝐏𝐨𝐬𝐞𝐭 has exponentials.
  5. In a CCC ℂ, what is the transpose of an evaluation $\varepsilon : B^A\times A \to B$?
  6. In 𝐒𝐞𝐭, what is the transpose…
    1. $\tilde 1$ of $1 : A\times B \to A\times B$;
    2. of $\varepsilon\circ\tau$ where $\tau : A \times B^A \to B^A\times A$ is the twist arrow $\tau = \langle p_2, p_1\rangle$.
  7. Reprove (elementarily, by the UMPs and diagram chasing) that in any cat with finite products:
    1. (×)-id: $A \times 1 \cong A$;
    2. (×)-com: $A \times B \cong B \times A$;
    3. (×)-ass: $(A \times B) \times C \cong A \times (B \times C)$;
  8. Prove (elementarily, by the UMPs and diagram chasing) that in any CCC:
    1. $A^1 \cong A$;
    2. $1^A \cong 1$;
    3. $(A \times B)^C \cong A^C \times B^C$;
    4. $A^{B\times C} \cong (A^C)^B$;
  9. Prove (elementarily, by the UMPs and diagram chasing) that in any bicartesian closed category (i.e.: CCC with finite coproducts):
    1. (+)-id: $A+0 \cong A$;
    2. (+)-com: $A + B \cong B + A$;
    3. (+)-ass: $(A + B) + C \cong A + (B + C)$;
    4. (×,+)-distr: $A\times(B+C) \cong A\times B + A\times C$;
    5. (×)-ann: $A \times 0 \cong 0$;
    6. $A^{B+C} \cong A^B \times A^C$;
    7. $A^0 \cong 1$;
  10. Prove that any BA ℬ, regarded as a poset cat, is a CCC.
  11. Definition. A Heyting Algebra (HA) is a poset with: (i) finite meets; (ii) finite joins; (iii) exponentials. Prove:
    1. Every HA is a distributive lattice.
    2. Every BA is a HA.
    3. Not every HA is a BA.
  12. $\omega\mathbf{CPO}$ is a CCC.
  13. $\omega\mathbf{CPO}_{\bot}$ isn’t!
  14. Is 𝐌𝐨𝐧𝐨𝐢𝐝 a CCC?
  15. Is $\mathbf{Set_{\star}}$ (pointed sets) a CCC?
  16. [awodey], cap. 6–7

2023-07-17 (hw19._)

  1. Use the “Yoneda artillery” to prove the arithmetic theorems of hw19.
  2. Prove the second corollary of Yoneda: yC ≅ yD ⇒ C ≅ D
  3. Prove the Yoneda lemma.
  4. [awodey], cap. 8.

2023-07-18

Log

2023-03-06: Cancelled by UFRN

2023-03-08: Introdução

  • Previously on FMC…
  • «Collection» vs «set»
  • Definition of a category
  • Examples
    • 𝟘, 𝟙, 𝟚, 𝟛
    • $\mathbf{Set}, \mathbf{Set}_{\mathbf{fin}}, \mathbf{Set}_{\mathbf{inj}}$

2023-03-13: Cats

  • Recap: Definition of a category
  • Commutative diagrams
  • Algebraic structures
  • Magma, Semigroup, Monoid, Group, Abel, …
  • Lattice, Ring, Vectₖ, …
  • What’s different about Field
  • $\mathbf{Set}_{(\subseteq)}$
  • ${\mathbf{Nat}}_{(\mid)}$
  • Objetos terminais e iniciais

2023-03-15: Cancelled by UFRN

2023-03-20: Cancelled by UFRN

2023-03-22: Cancelled by UFRN

2023-03-27: Cats

  • Recap: Categorial definitions
  • Constructing categories from…
    • a set (discrete category)
    • a pointed set
    • a monoid
    • a proset
  • thin categories
  • iso arrows, isomorphic objects
  • product: definition and examples
  • a new way to define what monoid and group means

2023-03-29: Cats

  • from cartesian products to disjoint unions to coproducts
  • the pairing of f,g: $\langle f,g \rangle$
  • the copairing of f,g: $\left\{{f \atop g}\right\}.$
  • mono, epi, split mono, split epi

2023-04-03: Cats

  • Θ. in $\mathbf{Set}$, mono implies inj
  • (×)-assoc.
  • some proofs by “diagram chacing”
  • (×)-identity in $\mathbf{Set}$
  • (×)-annihilator in $\mathbf{Set}$
  • What do we mean by «ℂ has products» (and similar phrases)
  • the opposite category
  • the duality principle
  • some valid equations about pairing and products and how to prove them

2023-04-05: Cats

  • not-so-cheap identities and inverses
  • a category where A × 0 ≅ A
  • zero object
  • retraction, section
  • (–)ᵒᵖ
  • comma categories: ℂ/C, C/ℂ
  • arrow categories: $\mathbb C^{\to}$
  • Functors
  • forgetful functors

2023-04-10: Cats

  • Q&A
  • the meaning of «ℂ has finite products»
  • the non-category of Haskell, 𝐇𝐚𝐬𝐤
  • construction: ℂ×𝔻
  • equalizers

2023-04-12: Cats

  • Equivalence relations
  • Quotient set: a better definition
  • Pullback: a guided definition
  • Prova 1.1

2023-04-17: Cats

  • Hom-sets
  • The Functor Hom(A,–)
  • post-composition and pre-composition
  • The meaning of «best»
  • The categories $\mathrm{Span}_{A,B}$ and $\mathrm{Cospan}_{A,B}$
  • Preorder theory: first steps

2023-04-19: Orders

2023-04-24: Cats; Orders

  • Towards a definition for natural transformations
  • Ideas for composing natural transformations
  • Constructions on p(r)osets
    • Lift
    • product with lexicographic order
    • product with pointwise order
    • “vertical” sum of p(r)osets
    • “horizontal” sum of p(r)osets

2023-04-26: Orders

  • the covered-by relation
  • functions between p(r)osets: order-preserving (monotone); order-embedding; order-isomorphism
  • numeral posets: discrete and ordinal
  • downwards-closed; upwards-closed (down-set or lower set; upper set or up-set)
  • ↑A; ↓A; ↑x; ↓x
  • the poset 𝒪(P) of all downsets of P
  • 𝒪(P⊕1) ≅ 𝒪(P)⊕1
  • 𝒪(1⊕P) ≅ 1⊕𝒪(P)
  • 𝒪(P⊎Q) ≅ 𝒪(P)×𝒪(Q)

2023-05-03: Orders

  • Lattices
  • (≥A) is an upset
  • Algebraic laws of lattices: Com. Ass. Idem. Abs.
  • From (L;≤) to (L;∨,∧)
  • Consigo Idenp. a partir das outras três
  • Não tenho distributividade garantida
  • Abordagem Algebrica (Lattice) (L;^,v) e leis
  • Tradução entre as duas abordagens
  • Definindo ≤ a partir dos joinzinhos e meetzinhos
  • x v y = y <=> x ^ y = x
  • Sublattices e homomorfismos

2023-05-08: Orders

  • Θ. monotonicity of (∨) and (∧)
  • Θ. (∧) distributes over (∨) ⇔ (∨) distributes over (∧)
  • The function space (X→P) with pointwise order
  • Sub(𝒢) and NSub(𝒢)
  • Θ. (safe-distr)
    • x∧(y∨z) ≥ (x∧y)∨(x∧z)
    • x∨(y∧z) ≤ (x∨y)∧(x∨z)
  • Θ. (safe-modul)
    • x ≤ z ⇒ x∨(y∧z) ≤ (x∨y)∧z
  • D. complete lattice
  • C. complete ⇒ bounded
  • Θ. (∀ ℒ : complete lattice)(∀ f : L → L monotone)[ f has a fixpoint ]
    • …and even more!

2023-05-10: Orders

  • Uses of the Connecting Lemma in proving inequalities
  • A non-modular lattice: 𝐍₅
  • Θ. Distributive ⇒ Modular
  • Θ. The 𝐌₃–𝐍₅ theorem (statement and applications)
  • Galois connections
  • Chains and antichains
  • length of a chain, length of a poset, width of a poset

2023-05-15: Prova 1.2

2023-05-17

  • sublattice generated by a A ⊆ L
  • top-down and bottom-up
  • towards the concept of free and freely generated

2023-05-22: Freedom

  • free things: free lattice, free monad, free group, free abelian group

2023-05-24: Chains

  • D. (ACC), (DCC)
  • Θ. (ACC) ⇔ (∀A⊆·P)[ A has maximal ]
  • Θ. (DCC) ⇔ (∀A⊆·P)[ A has minimal ]
  • Θ. No infinite chains ⇔ (ACC) & (DCC)
  • D. Chain-complete posets
  • Θ. cc ⇒ bottom
  • Θ. flat ⇒ cc
  • Θ. monotone maps preserve chains

2023-05-29: Ordinals; chain-complete posets

  • about cardinal and ordinal numbers and arithmetic
  • ω + 1 ≠ 1 + ω = ω
  • funções compatíveis vs comparáveis
  • sequences: finite, longer, and even longer
  • counably continuous mapping
  • limit of sequence in a c.c. poset
  • monotone maps preserve chains
  • fixpoint theorem for countably continuous maps in c.c. posets

2023-05-31: c.c. posets of partial functions

  • Θ. Kleene’s fixpoint theorem for c.c. posets and countably continuous mappings
  • D. compact mapping
  • “D”. continuous mapping ⇐≝⇒ monotone & compact
  • Θ. π : (A⇀E)→(B⇀M) continuous (characterization)
  • Θ. Let $S$ be an inhabited chain of $(A\rightharpoonup E)$. Let $f_0 \mathrel{\sqsubseteq_{\textrm{fin}}} \sup S$. Then there exists $s \in S$ such that $f_0 \sqsubseteq s$.

2023-06-05: Boolean Algebras

2023-06-07: Boolean Algebras

2023-06-12: BA; Recursion and corecursion

2023-06-14: BA; Recursion and corecursion

  • Zorn’s Lemma
  • Θ. Ultrafilter theorem
  • Polynomial functors
  • T-algebras

2023-06-19: T-álgebras

2023-06-21: T-álgebras

2023-06-26: T-álgebras & T-coálgebras

2023-06-28: T-coálgebras

2023-07-03–05: Cancelled

2023-07-10: Exponentials and CCC’s

  • Covariant & Contravariant functors
  • Representable functors
  • Exponential object
  • UMPs as two-way rules of inference
  • CCC (Cartesian Closed Categories)
  • Arithmetic in CCC’s
  • Formation, Introduction, Elimination Rules for (⊃,∧,⊤)-IPL
  • Exponential objects in ℂ[⊢IPL]

2023-07-12: CCC’s, λ-calculus, categories of functors

  • From IPL with «derives» to λ-calculus with actual proof terms
  • Natural transformations and natural isomorphisms
  • The category ${\mathbb D}^{\mathbb C}$
  • «Sets through time» as $\mathbf{Sets}^{\omega}$
  • Known categories as special cases of ${\mathbb D}^{\mathbb C}$ and $\mathbf{Sets}^{{\mathbb C}^{\mathrm{op}}}$.
  • $\mathbb C^2, \mathbb C^{\to}, \mathbf{Graphs}$
  • Speaking of edges and vertices from within $\mathbf{Graphs}$

2023-07-17: Yoneda & applications

  • Yoneda embedding
  • Yoneda Lemma and corollaries
  • Applications

Future

Course has ended.

Last update: Mon Jul 24 02:52:35 -03 2023