Abstract
Questo contributo presenta il nucleo formale del cosiddetto “Sistema inverso 1–3–5”, un modello deterministico per la generazione di canoni infiniti costruiti su tre pilastri simbolici. Il sistema non parte dalla partitura sovrapposta, ma da una linea orizzontale, secondo una logica affine alla scrittura a libro corale.
Il problema affrontato è il seguente: dato un alfabeto ridotto {1, 3, 5}, è possibile costruire un seme ciclico che, una volta sovrapposto a distanza canonica d = 1, non produca mai nello stesso allineamento verticale la co-occorrenza delle coppie 11 e 55? La verifica è condotta mediante enumerazione esaustiva dei casi possibili.
Il risultato mostra che, sotto questi vincoli, la lunghezza massima del seme ciclico compatibile è 8. Nessun seme di lunghezza 9 soddisfa il vincolo verticale, nonostante esistano 216 strutture cicliche teoricamente ammissibili con nove bigrammi distinti.
Premessa teorica: il seme astratto e la scrittura orizzontale
Il sistema inverso 1–3–5 nasce dall’idea che l’ossatura di un canone possa essere concepita come una linea ciclica autonoma, indipendente dalla partitura verticale. L’alfabeto è ridotto a tre simboli: 1, 3 e 5. Essi rappresentano i pilastri strutturali, non ancora le altezze concrete, ma funzioni relazionali.
Il canone è pensato come infinito. Dopo l’ingresso dell’ultima voce, tutte le parti continuano a suonare senza interruzione. Di conseguenza, la sequenza deve essere trattata come ciclica: anche la coppia formata dall’ultimo e dal primo elemento è significativa.
Si introducono due vincoli fondamentali.
Il primo è un vincolo orizzontale: in un ciclo non devono ripetersi bigrammi (coppie consecutive). Se una coppia si ripete, prima o poi, per traslazione canonica, quella stessa coppia finirà sovrapposta a sé stessa.
Il secondo è un vincolo verticale musicale: nello stesso allineamento non devono comparire contemporaneamente le coppie 11 e 55. Nel modello adottato, tale configurazione genera parallelismi strutturalmente incompatibili.
La distanza canonica è fissata a d = 1. Ciò significa che ogni nuova voce entra traslata di una posizione rispetto alla precedente. Questa distanza costituisce l’ossatura del sistema e non viene modificata nella verifica presentata.
Obiettivo dello script
Lo script Python sviluppato per questa verifica ha uno scopo preciso: enumerare tutti i semi ciclici possibili di lunghezza L sull’alfabeto {1,3,5} che soddisfino il vincolo di unicità dei bigrammi, e verificare per ciascuno se, nel canone a distanza d = 1, si produce almeno uno slice verticale contenente simultaneamente 11 e 55.
Per L = 9 il numero di strutture teoricamente possibili con nove bigrammi distinti è finito e calcolabile. L’obiettivo è stabilire se almeno una di esse rispetti il vincolo verticale oppure se il conflitto sia strutturale.
Il codice non genera musica, ma verifica una proprietà combinatoria del sistema astratto.
Struttura generale del codice
Il cuore dell’analisi è costituito da tre funzioni fondamentali.
La prima costruisce l’elenco dei bigrammi ciclici di una sequenza. Dato un elenco di simboli, vengono generate tutte le coppie consecutive, includendo la coppia formata dall’ultimo e dal primo elemento. Questo passaggio è essenziale, poiché il canone è infinito e quindi ciclico.
La seconda funzione verifica che tali bigrammi siano tutti distinti. Se la cardinalità dell’insieme dei bigrammi coincide con la lunghezza della sequenza, il vincolo orizzontale è soddisfatto.
La terza funzione simula la sovrapposizione canonica. Per ogni posizione i del ciclo, vengono raccolti i bigrammi delle diverse voci, ottenuti traslando la sequenza di k posizioni (con passo d = 1). Si ottiene così uno “slice” verticale, cioè l’insieme delle coppie simultanee in quell’istante.
All’interno di ciascuno slice si verifica la presenza simultanea delle coppie (1,1) e (5,5). Se entrambe sono presenti, il seme viene scartato.
L’enumerazione delle sequenze avviene mediante backtracking con pruning. La sequenza viene costruita simbolo per simbolo; ogni volta che si genera un bigramma già usato, il ramo viene interrotto. In questo modo si esplorano solo strutture potenzialmente valide.
Verifica esaustiva per L = 9
Per L = 9, il numero di cicli con nove bigrammi distinti è 216. Questo significa che esistono 216 sequenze cicliche che utilizzano tutti i nove bigrammi possibili dell’alfabeto {1,3,5}.
Lo script esamina ciascuna di queste 216 strutture e verifica il vincolo verticale. Il risultato è univoco: nessuna di esse supera il test.
In tutti i 216 casi esiste almeno uno slice verticale in cui compaiono simultaneamente 11 e 55. Il conflitto non è accidentale, ma strutturale.
Ne consegue che la lunghezza massima del seme ciclico compatibile con i vincoli adottati è 8.
La verifica è riproducibile mediante test automatico (pytest) e non dipende da campionamento casuale. Si tratta di un’esplorazione completa dello spazio combinatorio per L = 9.
Conteggio delle classi cicliche
Poiché il canone è infinito, le rotazioni di uno stesso ciclo sono equivalenti. La sequenza 1–3–5 è indistinguibile, in termini strutturali, da 3–5–1 o 5–1–3. Per questa ragione il conteggio viene effettuato anche modulo rotazione.
Il numero delle classi cicliche valide (ossia distinte fino a rotazione) per L = 2…8 è pari a 93. Per L = 9 il numero è zero.
Questi valori costituiscono il repertorio delle ossature strutturali compatibili con il vincolo verticale nel sistema inverso 1–3–5 a distanza canonica unitaria.
Risultati attesi e risultati effettivi
Prima della verifica computazionale, era lecito ipotizzare che l’utilizzo simultaneo di tutti e nove i bigrammi potesse forzare l’allineamento di 11 e 55 nello stesso slice. L’enumerazione completa conferma questa intuizione.
Risultato atteso: possibile collasso strutturale a L = 9.
Risultato effettivo: su 216 casi possibili, 216 violano il vincolo verticale. Nessuna eccezione.
Il limite a 8 non è una convenzione, ma una proprietà del sistema sotto i vincoli adottati.
Prospettive
La distanza d = 1 rappresenta l’ossatura. Una futura estensione potrà densificare la struttura introducendo simboli intermedi (ad esempio 1(2)3(4)5), senza alterare la logica portante.
Il sistema inverso 1–3–5 costituisce quindi un nucleo formale aperto: un motore deterministico minimo da cui derivare realizzazioni contrappuntistiche, espansioni ritmiche e mappature tonali concrete.
Il codice completo e i test di verifica sono disponibili pubblicamente e permettono la riproduzione integrale dei risultati qui esposti.
Il Sistema Inverso 1–3–5 è verificabile e riproducibile.
La versione archiviata e citabile del software è disponibile su Zenodo (DOI), mentre il codice sorgente e gli script di verifica sono accessibili nel repository di sviluppo su GitHub. Gli strumenti computazionali dimostrano il limite strutturale del canone ciclico (massimo 8 voci con d = 1).