SCIENZA!1!!

...Vi racconto

applied category theory

teoria delle categorie

La Matematica è fatta di diverse aree distinte:

  • Algebra
  • Geometria
  • Logica
  • ...

La teoria delle categorie  studia le teorie matematiche come un oggetto matematico a sé stante.

Ci sono omomorfismi (di teorie) con cui confrontarne due distinte

  • Una “categoria” è un agglomerato di oggetti matematici che
    condividono delle proprietà strutturali.

wat

Gli oggetti matematici di un dato tipo sono punti in una grande scatola, collegati da frecce componibili (gli omomorfismi)

composizione

  • la composizione è associativa: f . (g . h) = (f . g) . h
  • esiste un omomorfismo identico: f . 1 = 1 . f = f
  • Ogni oggetto nella pratica matematica fa parte di una qualche categoria
  • insiemi, gruppi, anelli, spazi vettoriali, ... e ogni insieme con operazioni
  • spazi topologici, spazi puntati, gruppi abeliani topologici...
  • varietà differenziali, spazi di Banach, spazi di misura...
  • numeri ordinali, linguaggi formali, ogni modello di teoria degli insiemi...

Eilenberg, S., and Mac Lane S., "General theory of natural equivalences." (1945)

  • "CT is one of the most sterile intellectual pursuit" (M. Reid)
  • "category theory is (abstract) nonsense" (N. Steenrod)
  • io non sono razzista, ma... (Anonimo)
  • Vi fareste operare da un bisturi che non sia sterile?
  • CT è lo studio delle proprietà della Matematica.
  • Alexander Grothendieck,  Paul Cohen, Daniel Quillen, Maxim Kontsevich, ...

La teoria delle categorie si usa per...

...lungo da raccontare. Specie a dei non matematici.

Fin dall'inizio però si è tentato di usarla per fare matematica applicata: se si sa la CT, essa

  • descrive perfettamente strutture modulari e composizionali;
  • astrae pattern ricorrenti da una massa apparentemente informe di manifestazioni materiali.

Entrambe caratteristiche desiderabili per uno scienziato

Caveat: le sezioni successive hanno la seguente struttura:

  • "Teoria delle categorie e X"
  • Un X non è altro che una categoria tale che Y
  • Allora studiamo le categorie tali che Y.

Gli esperti di X troveranno le "definizioni" della loro disciplina riduttive, pressapochiste e ingenue. E si offenderanno.

E' esattamente quel che voglio.

teoria delle categorie in

linguistica

Un "linguaggio naturale" è un insieme di simboli generato induttivamente, e soggetto a un certo numero di regole di riscrittura.

Da un insieme di tipi sintattici primitivi (nome, aggettivo, frase, verbo, avverbio...) si definiscono tipi derivati frazionari a/b e a\b, e congiunzioni di tipi sintattici

Ogni linguaggio naturale è una categoria i cui oggetti sono i tipi sintattici di quella lingua, e dove esiste un morfismo f : p → q se esiste una riduzione di p a q usando le regole di riscrittura

(Lambek, 1954) Parlare una lingua naturale equivale a operare una riduzione nel un calcolo dei sequenti di un sistema deduttivo; ossia, equivale a formulare una proposizione (nel senso tecnico) che il linguaggio (nel senso tecnico) ha la capacità espressiva di formulare.

Tram-mļöi hhâsmařpţuktôx

On the contrary, I think it may turn out that this rugged mountain range trails off at some point

\mathcal{C}

teoria delle categorie in

meccanica quantistica

  • In Meccanica Quantistica l'insieme degli stati di un sistema è uno spazio di Hilbert H
  • Le osservabili sono endomorfismi f : H → H
  • Gli autovalori di questi endomorfismi sono i valori delle osservabili in uno stato/autovettore

MQ è una teoria che si può esprimere nella categoria

spazi di Hilbert + mappe lineari

Ossia, MQ si può re-interpretare in tutte le categorie che hanno le stesse proprietà formali della categoria Hilb.

Gli operatori vengono rappresentati mediante diagrammi di stringa:

In modo tale che le operazioni sugli elementi dell'algebra di quegli operatori corrispondano a operazioni grafiche sui diagrammi di stringa:

teoria delle categorie in

programmazione funzionale

put the mo-ney in mo-nads

Come farebbe matematica una macchina?

Non si sa. Ma per la teoria delle categorie, la risposta è in un linguaggio funzionale con tipi dipendenti.

  • Il sistema di tipi forma una (2?-)categoria Type
  • L'I/O si modella usando delle monadi su Type
  • Il parsing si fa con delle monadi su oggetti di Type
  • La classe dei GADT di Haskell è una categoria¹
  • Una monade è un funtore M : Hask  Hask con due costruttori

 

class Mona m where -- "Mona"
  -- required constructors
  binda  :: m a -> (  a -> m b) -> m b
  torna  ::   a                 -> m a 
  -- optional constructors
  (>>)   :: m a ->  m b         -> m b
  fail   :: String -> m a

¹In realtà questo è falso. E' quasi una categoria

Per esempio la monade Maybe: gestisce una computazione fallibile:

data Forse a = Solo a 
             | Niente 
             deriving (Show, Eq)

instance Mona Forse where
  binda  Niente  _ = Niente
  binda (Solo x) f = f x
  torna            = Solo

f :: Int -> Forse Int
f 0 = Niente
f n = Solo (2*n)

-- binda Niente Forse
-- => Niente 

-- binda (Solo 7) f 
-- => Solo 14
newtype Parsa a = Parsa 
  { runParsa :: String -> Forse (String, a) 
  }

instance Mona Parsa where
  binda (Parsa x) f = Parsa ?????????¹
  torna x = Parsa (\s -> Solo (s, x))

Il parsing di testi si fa usando delle monadi:

some

raw

text

tizo@posto.it

caio@taltech.ee

pi.pacciani@mat.unifi.it

Parsa Email

¹ Definite prima istanze di Functor e di Applicative per Parsa.  (Hint)

Un po' di cose vengono meglio con la teoria delle categorie:

  • Geometria e topologia algebrica
    yeah, we know the drill
     
  • Logica, soprattutto se vi piace la matematica costruttiva
    uh uh, go on...
     
  • Mecc. Quantistica [ZX, ACR], specialmente teoria delle stringhe [DCCT]
  • Lo studio dei linguaggi naturali [Lam, Jag, Coe,...]
  • Progettare un linguaggio di programmazione [Bra]
  • Proof-checkare la sicurezza di una UI, o di una banca (?!) [Sta]
  • Lo studio dei sistemi dinamici [Sp, Gog]
  • Teoria della computabilità e ricorsione [CH, CHH]
  • ...
    aha, now we're talking!
  • Backens, Miriam. "Completeness and the ZX-calculus." arXiv preprint arXiv:1602.08954 (2016).
  • Schreiber, Urs. "Differential cohomology in a cohesive ∞-topos." arXiv preprint arXiv:1310.7930 (2013): 35.
  • Lambek, Joachim. "The mathematics of sentence structure." The American Mathematical Monthly 65.3 (1958): 154-170.
  • Brady, Edwin. Type-driven development with Idris. Manning Publications Company, 2017.
  • Tuyéras, Rémy. "Category Theory for Genetics." arXiv preprint arXiv:1708.05255 (2017).
  • Fritz, Tobias, and Eigil Fjeldgren Rischel. "The zero-one laws of Kolmogorov and Hewitt-Savage in categorical probability." arXiv preprint arXiv:1912.02769 (2019).
  • Culbertson, Jared, and Kirk Sturtz. "Bayesian machine learning via category theory." arXiv preprint arXiv:1312.1445 (2013).
  • Gogioso, Stefano. "Categorical Semantics for Schrödinger's Equation." arXiv preprint arXiv:1501.06489 (2015).

qualcosa da leggere

scienzafestival

By Fouche Ehcuof

scienzafestival

  • 395