diff --git a/out/presentation.pdf b/out/presentation.pdf index 0d85cb3..287687a 100644 Binary files a/out/presentation.pdf and b/out/presentation.pdf differ diff --git a/out/tesi-triennale.pdf b/out/tesi-triennale.pdf index 9929da8..37922a4 100644 Binary files a/out/tesi-triennale.pdf and b/out/tesi-triennale.pdf differ diff --git a/src/main.typ b/src/main.typ index f598b08..a4a6af7 100644 --- a/src/main.typ +++ b/src/main.typ @@ -4,6 +4,7 @@ #import "@preview/cetz:0.3.4" #import "@preview/drafting:0.2.2": inline-note, margin-note, set-margin-note-defaults, set-page-properties + #import "@preview/colorful-boxes:1.1.0": stickybox #set-margin-note-defaults(rect: (..kwargs, content) => rect(..kwargs, { @@ -275,11 +276,13 @@ Quindi i riccioli possono essere spostati liberamente e non ci impediscono di ap // C'è un'osservazione importante da fare quando parliamo di isotopia regolare. Quest'ultima è definita solo quando si parla di diagrammi. Quando invece parliamo di isotopia ambiente ha senso parlare dei link sia come diagrammi che come embedding $bb(S)^1 -> bb(R)^3$. -C'è un'osservazione importante da fare quando parliamo di isotopia regolare. Quest'ultima è definita solo quando si parla di diagrammi nel piano o su $bb(S)^2$. Nel caso dell'isotopia regolare su $bb(S)^2$ questa è equivalente all'isotopia di _link con framing_ #footnote[Nel caso di nodi come embedding da $bb(S)^1 -> bb(S)^3$, un *nodo con framing* è un embedding di $bb(D)^2 times bb(S)^1 -> bb(S)^3$. Il *framing* del nodo è l'immagine di $I times bb(S)^1 -> bb(S)^3$. Un nodo con framing può essere visto come una banda embedded dove il framing è il numero di twist con segno.]. In particolare l'isotopia regolare preserva il framing del nodo. +C'è un'osservazione importante da fare quando parliamo di isotopia regolare. Quest'ultima è definita solo quando si parla di diagrammi nel piano o su $bb(S)^2$. Nel caso dell'isotopia regolare su $bb(S)^2$ questa è equivalente all'isotopia di _link con framing_ #footnote[Nel caso di nodi come embedding da $bb(S)^1 -> bb(S)^3$, un *nodo con framing* è un embedding di $bb(D)^2 times bb(S)^1 -> bb(S)^3$. Il *framing* del nodo è l'immagine di $I times bb(S)^1 -> bb(S)^3$. Un nodo con framing può essere visto come una banda embedded dove il framing è il numero di twist con segno.]. In generale l'isotopia regolare preserva il framing del nodo. // Un'altra osservazione importante che possiamo fare quando si parla di isotopia regolare è che quest'ultima è equivalente all'isotopia di _link con framing_ #footnote[Nel caso di nodi come embedding da $bb(S)^1 -> bb(S)^3$, un *nodo con framing* è un embedding di $bb(D)^2 times bb(S)^1 -> bb(S)^3$. Il *framing* del nodo è l'immagine di $I times bb(S)^1 -> bb(S)^3$. Un nodo con framing può essere visto come una banda embedded dove il framing è il numero di twist con segno.]. In particolare l'isotopia regolare preserva il framing del nodo. -Questo sarà importante più avanti quando vedremo invarianti come il polinomio $F_K$ che risulteranno essere invarianti per isotopia ambiente. Nel caso del polinomio $F_K$, il calcolo va fatto fissando un particolare diagramma del link. È tutt'ora un problema aperto dare una definizione "intrinseca" di $F_K$ senza usare diagrammi. +Questo sarà importante più avanti quando vedremo invarianti come il polinomio $F_K$ che risulteranno essere invarianti per isotopia ambiente. Nel caso del polinomio $F_K$, il calcolo va fatto fissando un particolare diagramma del link. + +// Citiamo che ci sono lavori riguardanti dare una definizione "intrinseca" del polinomio di Kauffman senza passare da diagrammi. // Questo sarà importante più avanti quando vedremo invarianti di isotopia ambiente definiti passando dall'isotopia regolare. Ad esempio, nel caso del polinomio $F_K$, la definizione si basa sul polinomio $L_K$ che è un invariante per isotopia regolare definito su diagrammi; quindi il calcolo di $F_K$ va fatto fissando un particolare diagramma del link. È tutt'ora un problema aperto dare una definizione di $F_K$ che sia indipendente dalla scelta di un diagramma. @@ -687,6 +690,24 @@ Sia $lambda = (lambda_n, dots, lambda_0)$ una sequenza di etichette di incroci d Dati $K_1, K_2$ diagrammi di link, diciamo che $K_1$ *sovrasta* $K_2$ se ogni incrocio in $K_1 inter K_2$ è un sopra-incrocio. ] +#diff-add[ + Prima di procedere consideriamo anche una generalizzazione dei diagrammi in forma discendente che utilizzando le cosiddette funzioni di slacciamento. Queste possono essere pensate come funzioni che ci danno una "altezza" del diagramma in ogni punto. + + #definition[ + Sia $D$ il diagramma di un link $L$, allora una *funzione di slacciamento* è una funzione $h$ sui punti di un diagramma a valori in $RR$, con due valori in corrispondenza degli incroci, che corrisponde ad una funzione $h : L -> RR$ con le seguenti proprietà: + + 1. Se una componente $C_i$ sovrasta una componente $C_j$ allora #h(1fr) + + $ + forall x_i in C_i, x_j in C_j quad h(C_i) > h(C_j) + $ + + 2. ... + + 3. ... + ] +] + #align(center, line(stroke: 0.5pt, length: 50%)) Enunciamo ora un lemma che utilizzeremo più volte in seguito. @@ -858,23 +879,22 @@ sempre con $delta = (a + a^(-1)) slash z - 1$. con $delta colon.eq (a + a^(-1)) slash z - 1$. -3. Sia $K = K_1 union dotss union K_n$ con $K_i$ diagrammi di nodi e tale che nessun $K_i$ sovrasta tutti gli altri allora: +3. Se $K = K_1 union dotss union K_n$ con $K_i$ diagrammi di nodi e tale che nessun $K_i$ sovrasta tutti gli altri allora: #[ #set enum(numbering: "a)") 1. #marker([iii.a)]) - Se $n > 1$ allora siano $p_1, ..., p_n$ dei punti di partenza direzionati su $K_1, ..., K_n$ e $overline(p)_i$ lo stesso punto di partenza $p_i$ con la direzione opposta su $K_i$. Sia $lambda(p_i)$ la sequenza di scambi di incroci tra $K_i$ e $K - K_i$ tale che $hat(K)(lambda(p_i)) = K_i union.sq (K - K_i)$, con $K_i$ _sovrastante_ al resto delle componenti (chiameremo questa _sequenza di rialzo_). A questo punto possiamo definire $L_K$ come + Se $n > 1$ allora siano $p_1, ..., p_n$ dei punti di partenza direzionati su $K_1, ..., K_n$ e $overline(p)_i$ lo stesso punto di partenza $p_i$ con la direzione opposta su $K_i$. Sia $lambda(p_i)$ la sequenza di scambi di incroci tra $K_i$ e $K - K_i$ tale che $hat(K)(lambda(p_i)) = K_i union (K - K_i)$, con $K_i$ _sovrastante_ al resto delle componenti (chiameremo questa _sequenza di rialzo_). A questo punto possiamo definire $L_K$ come #[ #set text(size: 11pt) $ L_K (a, z) colon.eq - 1 / (2n) [ + 1 / (2n) sum_(i=1)^n sum_(q=p_i, overline(p)_i) ((-1)^(abs(lambda(q))+1) delta L_(K_i) L_(K - K_i) + z sum_K (lambda(q))) - ] $ ] @@ -885,10 +905,9 @@ sempre con $delta = (a + a^(-1)) slash z - 1$. $ L_K (a, z) colon.eq - 1 / 2 [ + 1 / 2 sum_(q = p, overline(p)) ((-1)^(abs(lambda(q))+1) L_(hat(K)(q)) + z sum_K (lambda(q))) - ] $ ] ] @@ -922,7 +941,9 @@ Nel corso della dimostrazione tutti gli argomenti per induzione si baseranno sul - $L[#skein.under-twist-medium] = a^(-1) L [#skein.strand-medium]$ 3. #marker([c)]) $L_K$ è invariante per mosse di tipo II e III che non aumentano il numero di incroci. -] + + 4. #diff-add[#marker([d)]) Se $K$ ammette una _funzione di slacciamento_ allora $L_K = a^w(K)$] +] #lemma[ Sia $lambda = (lambda_n, dots, lambda_1, lambda_0)$ una scelta di etichette per un sottoinsieme di incroci di un diagramma di link $K$. Sia $mu = (lambda_0, lambda_n, dots, lambda_1)$ la stessa successione ma ruotata di $1$ in avanti. Allora @@ -1109,12 +1130,26 @@ $ La dimostrazione procede sempre mostrando l'indipendenza dalla scelta di punto base. Vediamo prima alcune proprietà dei nodi banali standard: +#diff-add[ + #lemma[ + Se $K$ ammette una funzione di slacciamento allora $L_K = a^w(K)$. + ] + + #proof[ + #todo[work in progress] + ] +] + #lemma[ Consideriamo i due modi di fare uno splice di un nodo banale standard al primo incrocio subito dopo un punto base direzionato. Allora valgono le seguenti proprietà: 1. Ci sono due casi, in uno otteniamo _due nodi banali in forma standard_, nell'altro _un solo nodo banale_ (non necessariamente in forma discendente). - 2. La proprietà del @std-unknot-to-curls, ovvero che i nodi banali standard sono equivalenti a meno di isotopia regolare a diagrammi di nodi formati solo da riccioli, si estende al diagramma del caso dello splice con una sola componente. + 2. #diff-del[La proprietà del @std-unknot-to-curls, ovvero che i nodi banali standard sono equivalenti a meno di isotopia regolare a diagrammi di nodi formati solo da riccioli, si estende al diagramma del caso dello splice con una sola componente.] + + #diff-add[ + Il caso di splice con una sola componente ammette una funzione di slacciamento. + ] ] #proof[ @@ -1126,9 +1161,11 @@ La dimostrazione procede sempre mostrando l'indipendenza dalla scelta di punto b #figure(image("assets/splice-circuits.png", width: 4cm)) - Usiamo ora il @std-unknot-to-curls per cui un nodo banale standard è equivalente a meno di isotopia regolare al diagramma di un nodo formato solo da riccioli. + #diff-del[ + Usiamo ora il @std-unknot-to-curls per cui un nodo banale standard è equivalente a meno di isotopia regolare al diagramma di un nodo formato solo da riccioli. - Siano $hat(K)'_1$ e $hat(K)'_2$ i diagrammi a cui sono equivalenti rispettivamente $hat(K)_1$ e $hat(K)_2$. Ora possiamo applicare le mosse che semplificano $hat(K)_1$ indipendentemente dalle mosse che semplificano $hat(K)_2$, in quanto uno sovrasta l'altro e possiamo spostare un diagramma sopra un altro utilizzando solo mosse di tipo II o III. A questo punto avremo ridotto i diagrammi ad uno della forma $hat(K)'_1 hash hat(K)'_2$ che sarà equivalente a $hat(K)_1 hash hat(K)_2^*$ e composto solo da riccioli. + Siano $hat(K)'_1$ e $hat(K)'_2$ i diagrammi a cui sono equivalenti rispettivamente $hat(K)_1$ e $hat(K)_2$. Ora possiamo applicare le mosse che semplificano $hat(K)_1$ indipendentemente dalle mosse che semplificano $hat(K)_2$, in quanto uno sovrasta l'altro e possiamo spostare un diagramma sopra un altro utilizzando solo mosse di tipo II o III. A questo punto avremo ridotto i diagrammi ad uno della forma $hat(K)'_1 hash hat(K)'_2$ che sarà equivalente a $hat(K)_1 hash hat(K)_2^*$ e composto solo da riccioli. + ] ] // #grid( @@ -1165,7 +1202,16 @@ La dimostrazione procede sempre mostrando l'indipendenza dalla scelta di punto b // #todo[work in progress] // ] -*Corollario.* Poiché $e_i hat(K)$ è equivalente a meno di isotopia regolare ad un diagramma formato solo da riccioli, possiamo usare il caso @kauffman-inductive-hyp-c dell'ipotesi induttiva su $L_K$ che ci dà l'invarianza per isotopia regolare di $L_K$. Unito al fatto che il writhe è un invariante di isotopia regolare otteniamo che $L[e_i hat(K)] = a^w(e_i hat(K))$. +#diff-del[ + *Corollario.* Poiché $e_i hat(K)$ è equivalente a meno di isotopia regolare ad un diagramma formato solo da riccioli, possiamo usare il caso @kauffman-inductive-hyp-c dell'ipotesi induttiva su $L_K$ che ci dà l'invarianza per isotopia regolare di $L_K$. Unito al fatto che il writhe è un invariante di isotopia regolare otteniamo che $L[e_i hat(K)] = a^w(e_i hat(K))$. +] +#diff-add[ + *Corollario.* Sia $K$ un diagramma di un nodo e $e_i hat(K)$ il caso di splice che forma una sola componente. Per il lemma precedente $e_i hat(K)$ ammette una funzione di slacciamento,dunque possiamo applicare il caso @kauffman-inductive-hyp-d dell'ipotesi induttiva della @kauffman-inductive-hyp-def su $L_K$ ed ottenere che + + $ + L[e_i hat(K)] = a^w(e_i hat(K)) + $ +] // Utilizzando questi ultimi risultati identità per nodi banali standard che ci mostrano cosa succede quando facciamo avanzare il punto base di un incrocio. @@ -1229,7 +1275,7 @@ La dimostrazione procede sempre mostrando l'indipendenza dalla scelta di punto b Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$. #lemma[ - Sia $K$ un diagramma di un nodo. Allora @kauffman-rec-single-component non dipende dalla scelta di punto base. Inoltre se $p$ è un punto base direzionato su $K$ e $lambda(p)$ la sequenza di scambi determinata da $p$ che lo porta a $hat(K)(p) colon.eq hat(K)(cal(U), p)$, allora + Sia $K$ un diagramma di un nodo. Allora @kauffman-rec-single-component non dipende dalla scelta di punto base. Inoltre se $p$ è un punto base direzionato su $K$ e $lambda(p)$ la sequenza di scambi determinata da $p$ che lo porta a $hat(K)(p) colon.eq hat(K)(cal(U), p)$, allora #h(1fr) $ Omega_K (p) = (-1)^(abs(lambda(p)) + 1) L_(hat(K)(p)) + z sum_K (lambda(p)) @@ -1313,7 +1359,7 @@ Possiamo ora mostrare l'invarianza per scelta di punto base di $Omega_K (p)$. ) } - come già detto prima, l'ultimo incrocio è un sotto-incrocio dunque $K(q)$ è già in forma di nodo banale standard. Segue che $i$ non appartiene alla sequenza di scambi che sarà $(n-1, dots, 0)$ e quindi $hat(K)(q) = S_(n-1) dotss S_0 K$. Vorremo vedere che $Omega_K (p) = Omega_K (q)$, ovvero che queste due espressioni coincidano: + come già detto prima, l'ultimo incrocio vicino ad esso è un sotto-incrocio dunque $K(q)$ è già in forma di nodo banale standard. Segue che $i$ non appartiene alla sequenza di scambi che sarà $(n-1, dots, 0)$ e quindi $hat(K)(q) = S_(n-1) dotss S_0 K$. Vorremo vedere che $Omega_K (p) = Omega_K (q)$, ovvero che queste due espressioni coincidano: $ Omega_K (p) &= (-1)^(n+1) L[hat(K)(p)] + z sum_K (lambda(p)) \ diff --git a/src/prelude.typ b/src/prelude.typ index 0de8289..011338f 100644 --- a/src/prelude.typ +++ b/src/prelude.typ @@ -153,4 +153,8 @@ #let marker(content) = metadata(("marker", content)) -#let qquad = h(2em) \ No newline at end of file +#let qquad = h(2em) + +#let diff-add(body) = block(fill: green.mix(white), outset: (x: 2pt, y: 3pt), radius: 2pt, body) + +#let diff-del(body) = block(fill: red.mix(white), outset: (x: 2pt, y: 3pt), radius: 2pt, body) diff --git a/src/presentation.typ b/src/presentation.typ index 8605d40..afb4223 100644 --- a/src/presentation.typ +++ b/src/presentation.typ @@ -15,14 +15,16 @@ title: [Il Polinomio di Kauffman: Un Invariante di Isotopia Regolare], subtitle: [Tesi di Laurea Triennale], author: [Antonio De Lucreziis], - date: datetime.today(), + date: [18 Luglio 2025], institution: [Dipartimento di Matematica \ Università di Pisa], logo: image("assets/dm-unipi-logo-bianco.png"), )) -#set text(font: "Source Sans Pro", weight: 500, size: 20pt) +// #set text(font: "Source Sans Pro", weight: 500, size: 20pt) +#set text(font: "Open Sans", weight: 400, size: 17pt) #set strong(delta: 100) -#set par(leading: 0.75em) +#set par(leading: 1em) +#set list(spacing: 1em) #title-slide() @@ -125,7 +127,7 @@ Il protagonista: $L_K (a,z) in bb(Z)[a, a^(-1), z, z^(-1)]$ *Assiomi:* - 1. Se $K$, $K'$ sono equivalenti a meno di isotopia regolare, allora $L_K = L_{K'}$ + 1. Se $K$, $K'$ sono equivalenti a meno di isotopia regolare, allora $L_K = L_K'$ #pause @@ -378,7 +380,7 @@ #pause - *Scoperta interessante:* Trovato un *errore* nel valore pubblicato per il nodo $10_{125}$! + *Scoperta interessante:* Trovato un *errore* nel valore pubblicato per il nodo $10_125$! #pause diff --git a/src/presentation/theme.typ b/src/presentation/theme.typ index 9e79f21..3333751 100644 --- a/src/presentation/theme.typ +++ b/src/presentation/theme.typ @@ -100,27 +100,20 @@ touying-slide(self: self, body) }) -#let outline-slide(config: (:), title: utils.i18n-outline-title, numbered: true, level: none, ..args) = touying-slide-wrapper( - self => { - self.store.title = title - touying-slide( - self: self, - config: config, - std.align( - self.store.align, - components.adaptive-columns(text(fill: self.colors.primary, weight: "bold", components.custom-progressive-outline( - level: level, - alpha: self.store.alpha, - indent: (0em, 1em), - vspace: (.4em,), - numbered: (numbered,), - depth: 1, - ..args.named(), - ))) + args.pos().sum(default: none), - ), - ) - }, -) +#let outline-slide(config: (:), title: utils.i18n-outline-title, numbered: true, level: none, ..args) = touying-slide-wrapper(self => { + self.store.title = title + touying-slide(self: self, config: config, std.align(self.store.align, components.adaptive-columns({ + text(fill: self.colors.primary, weight: 600, components.custom-progressive-outline( + level: level, + alpha: self.store.alpha, + indent: (0em, 1em), + vspace: (.4em,), + numbered: (numbered,), + depth: 1, + ..args.named(), + )) + }) + args.pos().sum(default: none))) +}) #let new-section-slide(config: (:), title: utils.i18n-outline-title, level: 1, numbered: true, ..args, body) = outline-slide(config: config, title: title, level: level, numbered: numbered, ..args, body)