Corso di Teoria delle Categorie e Logica Superiore: 1 Introduzione alla Teoria delle Categorie
Introduzione alla Teoria delle Categorie
🎯 Obiettivi del modulo
- Fornire una visione unificante e altamente astratta della matematica e dell’informatica attraverso il linguaggio delle categorie.
- Introdurre i concetti chiave di oggetto, morfismo e composizione, come elementi strutturali fondamentali.
- Comprendere il significato e l’utilità dei funtori, che collegano diverse strutture matematiche.
- Sviluppare abilità di modellizzazione strutturale e ragionamento diagrammatico.
📚 Contenuti del modulo
🔹 1. Che cos'è una categoria?
Una categoria è una struttura matematica composta da:
- Una collezione di oggetti (che possono essere insiemi, gruppi, spazi topologici, ecc.)
- Una collezione di morfismi (o frecce) che rappresentano trasformazioni da un oggetto a un altro
Per essere una categoria, devono valere due condizioni fondamentali:
- Composizione: se c'è un morfismo da a e uno da a , esiste un morfismo composto da a .
- Identità: per ogni oggetto esiste un morfismo identità che lo lascia invariato.
👉 Esempio intuitivo:
Immagina una rete di città (oggetti) con treni diretti (morfismi). Se puoi andare da Roma a Milano, e da Milano a Torino, allora puoi andare da Roma a Torino (composizione). Inoltre, puoi sempre restare nella tua città (identità).
🔹 2. Morfismi e composizione
- Un morfismo è una freccia che va da un oggetto a un oggetto .
- La composizione di due morfismi e è un nuovo morfismo .
- L’identità soddisfa: e
🔹 3. Esempi classici di categorie
- Set: oggetti sono insiemi, morfismi sono funzioni tra insiemi
- Grp: oggetti sono gruppi, morfismi sono omomorfismi di gruppo
- Top: oggetti sono spazi topologici, morfismi sono funzioni continue
- Vect: oggetti sono spazi vettoriali, morfismi sono applicazioni lineari
👉 Ogni area della matematica può essere vista come una categoria!
🔹 4. Funtori: collegamenti tra categorie
Un funtore è una mappa tra categorie che:
- Associa a ogni oggetto di una categoria un oggetto in un’altra
- Associa a ogni morfismo un altro morfismo preservando struttura e composizione
👉 Esempio:
Un funtore può tradurre ogni gruppo in un insieme (dimenticando la struttura), oppure ogni spazio topologico nel suo gruppo fondamentale.
📌 I funtori sono fondamentali nell’informatica teorica e nei linguaggi di programmazione funzionale (es. Haskell).
🔧 Attività pratiche
🧪 1. Costruzione di semplici categorie
- Crea una categoria di 3 oggetti:
Aggiungi frecce tra di loro: , , - Disegna un diagramma commutativo che mostra queste relazioni
🧩 2. Esempi di funtori
- Costruisci un funtore da Set a Set che associa a ogni insieme l’insieme delle liste finite su
- Associa a ogni funzione una funzione tra le liste
📐 Esercizio:
Verifica che la composizione e l’identità siano preservate:
📘 Materiali di supporto
- Diagrammi visivi delle categorie e funtori
- Schede di esempi concreti: Set, Grp, Top
- Glossario dei termini essenziali: oggetto, morfismo, funtore, composizione
- Tabelle di confronto tra categorie matematiche e categorie informatiche
💬 Domande per il confronto
- Riesci a pensare a un esempio di "freccia" nella tua vita quotidiana?
- Hai mai pensato a un linguaggio come Haskell o Scala in termini di categorie?
- Quali vantaggi vedi nell'usare strutture astratte per descrivere relazioni concrete?
Commenti
Posta un commento