Théorie de la Persistance

Chimie PT / dérivation exécutable

Pourquoi le tableau périodique a cette forme ?

Première démonstration robuste

Le tableau périodique range les atomes selon la manière dont leurs électrons remplissent des places autour du noyau. En mode simple, l’idée est simple : les électrons ne se placent pas au hasard. Ils remplissent des couches, puis des familles de places appelées s, p, d et f. La PT propose une raison structurelle à cette organisation.

En PT, le tableau des éléments n’est pas un catalogue empirique : sa forme vient d’une chaîne courte. Le spin donne le facteur 2, les orientations donnent 1, 3, 5, 7, et les capacités deviennent 2, 6, 10, 14. De là, les blocs, les périodes et plusieurs anomalies de configuration tombent ensemble.

bloc
s
1 orientations
capacité 2
bloc
p
3 orientations
capacité 6
bloc
d
5 orientations
capacité 10
bloc
f
7 orientations
capacité 14

Simple

Avant de lire le tableau

Si tu ne connais rien à la chimie, tu peux commencer ici. Le tableau périodique n’est pas d’abord une liste de symboles : c’est une carte du remplissage électronique. Chaque élément ajoute un électron de plus, et cet électron doit trouver une place autorisée.

Ce que la PT veut expliquer, ce n’est pas seulement que cette carte existe, mais pourquoi elle répète toujours les mêmes tailles : 2, 6, 10, 14, puis les longues lignes 2, 8, 18, 32.

Un atome

Un atome contient un noyau chargé positivement et des électrons autour de lui. La chimie vient surtout de la manière dont ces électrons se répartissent.

Une couche

Une couche est un niveau d’énergie. Quand une ligne du tableau périodique commence, une nouvelle couche commence à recevoir des électrons.

Une orbitale

Une orbitale n’est pas une petite orbite de planète. C’est une forme permise de présence de l’électron autour du noyau.

s, p, d, f

Ces lettres nomment quatre familles d’orbitales. Elles contiennent respectivement 2, 6, 10 et 14 électrons quand elles sont pleines.

Le spin

Le spin agit comme une polarité interne. Une même place peut recevoir deux électrons seulement s’ils ont des spins opposés.

La lecture PT

La PT ne change pas la carte chimique de base : elle cherche pourquoi cette carte a précisément ces blocs, ces tailles et ces exceptions.

T1 01

Exclusion

Dans un atome, les électrons ne s’empilent pas tous au même endroit. Deux électrons peuvent partager une même place seulement s’ils portent deux spins opposés.

T1 interdit les auto-transitions mod 3 : un état ne peut pas se recopier sur lui-même. La seule duplication autorisée vient d’une involution de spin, d’où le facteur 2.

C1 02

Orientations

Les places électroniques ne sont pas toutes du même type. Certaines sont simples, d’autres se divisent en 3, 5 ou 7 directions possibles.

Pour un indice orbital ℓ, les valeurs magnétiques vont de -ℓ à +ℓ. Cela donne 2ℓ+1 positions discrètes : 1, 3, 5, 7 pour s, p, d, f.

DER 03

Capacités

Chaque direction peut recevoir deux électrons, un pour chaque spin. C’est pourquoi les familles s, p, d et f accueillent 2, 6, 10 et 14 électrons.

Chaque position peut recevoir deux spins opposés. La capacité devient donc Cap(ℓ)=2(2ℓ+1), ce qui produit directement 2, 6, 10, 14.

THM 04

Quatre blocs

Le tableau périodique se lit alors comme une carte de remplissage : les lignes sont des couches, et les grands blocs indiquent quelle famille de places est en train de se remplir.

La profondeur D=2 donne quatre types orbitaux, le groupe V4. Le pas suivant demanderait 9 ou p=11, mais 9 est composite et p=11 reste en écho.

Pourquoi c’est une bonne première démonstration

Le tableau périodique est familier, visuel et très contraint. C’est exactement ce qu’il faut pour tester une théorie : la PT n’a pas le droit de choisir librement les blocs, les capacités ou les longueurs de période.

La force de cette page est donc sa rigidité : les nombres 2, 6, 10, 14 viennent de 2(2ℓ+1), les périodes 2, 8, 8, 18, 18, 32, 32 viennent de L(k)=2⌈k/2⌉², puis les anomalies d5/d10 et l’absence de bloc g deviennent des tests secondaires.

Étape Ce qui est forcé Résultat chimique
Orientations 2ℓ+1 = 1,3,5,7 blocs s, p, d, f
Spin 2(2ℓ+1) capacités 2, 6, 10, 14
Profondeur s → p → d → f périodes 2, 8, 18, 32
Stabilités d5 et d10 Cr, Cu, Pd, Ag, Au...

Des regles connues aux causes structurelles

La page ne propose pas une nouvelle nomenclature à mémoriser. Elle reprend les objets usuels de la chimie quantique et montre comment la PT transforme des regles empiriques en consequences structurelles.

Objet chimique Formulation usuelle Lecture PT
Pauli Principe quantique imposé aux électrons. Exclusion issue de T1 : une involution de spin donne le facteur 2.
Capacités Les sous-couches contiennent 2, 6, 10, 14 électrons. Capacité forcée par 2(2ℓ+1) avec 2ℓ+1 = 1, 3, 5, 7.
Madelung Règle empirique n+l, puis n. Ordre de remplissage motivé par la fonction maîtresse décroissante du crible.
Cr, Cu, Pd, Au Configurations anormales mémorisées comme exceptions. Stabilités informationnelles d5/d10 du pentagone Z/10Z.
Lanthanides / actinides Lignes séparées sous le tableau pour lisibilité. Canal f enfoui : s -> f -> d -> p quand P3 = 7 s ouvre.
Pas de bloc g Absence observée au-delà du domaine stable connu. 9 = 3^2 est composite et p=11 reste en écho sous le seuil.

Voir les canaux comme des polygones

Le dessin n’est pas une image d’orbitale dans l’espace. C’est une carte discrete du canal PT : le cercle marque le canal, chaque sommet represente une orientation disponible, et le spin double chaque sommet.

Lecture technique : les canaux se lisent sur les cercles Z/(2P_l)Z. Les premiers actifs 3, 5, 7 donnent le triangle, le pentagone et l’heptagone ; le cas s est le canal minimal, une orientation doublee par spin.

bloc s

1 orientation x 2 spins = 2

bloc p

3 orientations x 2 spins = 6

bloc d

5 orientations x 2 spins = 10

bloc f

7 orientations x 2 spins = 14

Pourquoi le pentagone parle aux anomalies d

Dans le canal d, cinq orientations forment le pentagone Z/10Z après doublement par spin. Les configurations d5 et d10 deviennent alors deux positions speciales : demi-remplissage et fermeture. C’est la raison pour laquelle Cr, Cu, Mo, Pd, Ag ou Au ne sont pas seulement des exceptions à mémoriser.

d5
d10

La formule qui fabrique les périodes

La longueur de la période numéro $k$ est donnée par $L(k) = 2\lceil k/2\rceil^2$. Elle produit directement la suite observée jusqu’à 118 éléments.

Source monographie : chapters_fr/ch22_chemistry.tex, section "Longueurs des périodes". Le code PTC l’implémente dans period(Z) par cap = 2 * k * k avec k = per // 2 + 1.
k=1
2 / 1-2
k=2
8 / 3-10
k=3
8 / 11-18
k=4
18 / 19-36
k=5
18 / 37-54
k=6
32 / 55-86
k=7
32 / 87-118
bloc s bloc d bloc f bloc p

Le bleu marque l’ouverture s de chaque période ; le vert marque la fermeture p ; l’orange et le violet marquent les canaux internes d et f quand la période devient assez profonde.

Lecture PT des canaux internes

Les périodes 2-3 n’ont que le schéma s -> p. Aux périodes 4-5, la profondeur permet le canal pentagonal d : capacité 2 x 5 = 10, avec les stabilités d5 et d10 qui pilotent les promotions de Madelung. Aux périodes 6-7, le canal heptagonal f s’insère avant le retour au canal d : s -> f -> d -> p, soit 2 + 14 + 10 + 6 = 32.

C’est précisément cette couche interne enfouie qui rend les lanthanides et actinides structurellement naturels en PT : ils ne sont pas une annexe du tableau, mais l’ouverture du dernier premier actif P3 = 7. Le pas suivant demanderait un canal g, mais 2ℓ+1 = 9 est composite et p = 11 reste un premier d’écho (gamma_11 < 1/2).

La frise des couches

La même dérivation se lit comme une succession de configurations de fermeture : s2, puis s2 p6, puis s2 d10 p6, puis s2 f14 d10 p6.

périodes 1
s2
2 éléments

La couche minimale ferme seulement le canal spin-orbital s.

périodes 2-3
s2p6
8 éléments

Premier motif chimique complet : ouverture s, fermeture p.

périodes 4-5
s2d10p6
18 éléments

Le pentagone d apparaît entre l’ouverture s et la fermeture p.

périodes 6-7
s2f14d10p6
32 éléments

Le canal f s’enfouit avant le retour d, puis la fermeture p.

La demonstration compacte

bloc s

ℓ=0 -> 2ℓ+1=1

Une seule orientation, deux spins possibles.

involution spin issue de T1. La capacité vaut donc 2 x 1 = 2.

bloc p

ℓ=1 -> 2ℓ+1=3

Trois directions spatiales, remplies par paires de spin.

premier actif P1 = 3. La capacité vaut donc 2 x 3 = 6.

bloc d

ℓ=2 -> 2ℓ+1=5

Cinq positions, avec les stabilités demi-remplie et pleine.

premier actif P2 = 5. La capacité vaut donc 2 x 5 = 10.

bloc f

ℓ=3 -> 2ℓ+1=7

Sept positions, dernier canal actif de la géométrie PT.

premier actif P3 = 7. La capacité vaut donc 2 x 7 = 14.

Les anomalies ne sont plus des exceptions

Les promotions $s \to d$ apparaissent aux points de stabilité du pentagone : demi-remplissage $d^5$ et fermeture $d^10$. PTC garde deux lectures séparées : le remplissage radial Aufbau pour l’écrantage, et le remplissage informationnel Madelung pour la structure fine.

Dans ptc/periodic.py, _n_fill_aufbau() reste radial, tandis que n_fill() applique _MADELUNG_PROMOTIONS. Cette séparation est importante : elle évite de confondre géométrie spatiale et stabilité informationnelle.
Élément Aufbau PT / Madelung Cause
Cr Z=24 d4s2 d5s1 demi-remplissage
Cu Z=29 d9s2 d10s1 fermeture
Nb Z=41 d3s2 d4s1 quasi-demi-remplissage
Mo Z=42 d4s2 d5s1 demi-remplissage
Ru Z=44 d6s2 d7s1 post-demi-remplissage
Rh Z=45 d7s2 d8s1 post-demi-remplissage
Pd Z=46 d8s2 d10s0 double fermeture
Ag Z=47 d9s2 d10s1 fermeture
Pt Z=78 d8s2 d9s1 quasi-fermeture
Au Z=79 d9s2 d10s1 fermeture
Rg Z=111 d9s2 d10s1 fermeture relativiste

Outil interactif PTC

Interroger un élément dans le tableau PT

Chaque vignette reprend les règles de PTC : période par 2k², bloc s/p/d/f, capacité 2(2ℓ+1), remplissage radial Aufbau et remplissage informationnel PT/Madelung. Clique un élément pour voir sa lecture calculée.

123456789101112131415161718
57-71
89-103
Lanthanides Actinides

La grille reprend la structure périodique classique. La lecture PT reste portée par les couleurs de blocs, les remplissages et le panneau de détail.

Ce que le code PTC vérifie

period(Z)

retrouve la période depuis L(k) = 2 ceil(k/2)^2

PT_PROJECTS/PTC/ptc/periodic.py:13

l_of(Z)

assigne le bloc s, p, d ou f par position dans la période

PT_PROJECTS/PTC/ptc/periodic.py:31

capacity(Z)

renvoie 2, 6, 10 ou 14 depuis 2(2ℓ+1)

PT_PROJECTS/PTC/ptc/periodic.py:115

n_fill(Z)

ajoute les promotions informationnelles d5/d10

PT_PROJECTS/PTC/ptc/periodic.py:75

Test minimal reproductible

cd PT_PROJECTS/PTC
PYTHONPATH=. python -m pytest ptc/tests/test_periodic.py -v

Les assertions couvrent les frontières de périodes, les blocs s/p/d/f, les capacités 2/6/10/14, les remplissages Aufbau et les promotions Cr, Cu, Mo, Pd, Ag, Au.

Source exécutable : periodic.py

public/scripts-source/ptc/periodic.py · 185 lignes · copie jointe au site et intégrée au HTML au build.

PTC

Ce fichier est la traduction opérationnelle de la dérivation : périodes par 2k², blocs s/p/d/f, capacités 2, 6, 10, 14, et séparation explicite entre remplissage radial Aufbau et promotions informationnelles de Madelung. La copie brute reste aussi servie comme fichier statique à /scripts-source/ptc/periodic.py.

Afficher le code complet
"""
Periodic table structure functions.

Derived from PT first principles: period boundaries follow 2k² shells
where k = per // 2 + 1 (prime-indexed shells P1=3, P2=5, P3=7).
Zero adjustable parameters.
"""
from ptc.constants import P1, P2, P3

_BLOCK_MAP = {0: 's', 1: 'p', 2: 'd', 3: 'f'}
_CAP_MAP   = {0: 2, 1: 2 * P1, 2: 2 * P2, 3: 2 * P3}  # 2, 6, 10, 14


def period(Z: int) -> int:
    """Return the period number for atomic number Z."""
    cumul, per = 0, 1
    while True:
        k = per // 2 + 1
        cap = 2 * k * k
        if Z <= cumul + cap:
            return per
        cumul += cap
        per += 1


def period_start(per: int) -> int:
    """Return the first Z of period per."""
    z0 = 1
    for p in range(1, per):
        k = p // 2 + 1
        z0 += 2 * k * k
    return z0


def l_of(Z: int) -> int:
    """Angular momentum of the valence sub-shell: s=0, p=1, d=2, f=3."""
    per = period(Z)
    z0 = period_start(per)
    pos = Z - z0
    if pos < 2:
        return 0
    if per <= 3:
        return 1
    if per <= 5:
        return 2 if pos < 12 else 1
    if pos == 2:
        return 2
    if pos < 16:
        return 3
    if pos < 26:
        return 2
    return 1


def _n_fill_aufbau(Z: int) -> int:
    """Number of electrons in the valence sub-shell (Aufbau, no promotions).

    This is the RADIAL filling — used for screening (geometric γ₅ decay).
    The screening is a spatial phenomenon and follows the standard Aufbau
    ordering regardless of Madelung promotions.
    """
    per = period(Z)
    z0 = period_start(per)
    pos = Z - z0
    l = l_of(Z)
    if l == 0:
        return min(pos + 1, 2)
    cap = 2 * (per // 2 + 1) ** 2
    if l == 1:
        return Z - (z0 + cap - 6) + 1
    if l == 2:
        nd = max(0, pos + 1 - 2)
        if per >= 6:
            nd = max(0, nd - 14)
        return min(nd, 2 * P2)
    if l == 3:
        return min(max(0, pos + 1 - 2), 2 * P3)
    return 1


# ── Madelung anomalies: PT predictions from the pentagon ──────────────
# d5 = half-fill = D_KL maximum on Z/10Z (persistence peak)
# d10 = closure = H minimum on Z/10Z (entropy floor)
# These are INFORMATIONAL, not radial — the polygon structure demands them.

# Z → (nd_madelung, ns_madelung) for elements with s→d promotions
_MADELUNG_PROMOTIONS: dict[int, tuple[int, int]] = {
    24: (5, 1),   # Cr: d4s2 → d5s1  (half-fill)
    29: (10, 1),  # Cu: d9s2 → d10s1 (closure)
    41: (4, 1),   # Nb: d3s2 → d4s1  (quasi-half)
    42: (5, 1),   # Mo: d4s2 → d5s1  (half-fill)
    44: (7, 1),   # Ru: d6s2 → d7s1  (post-half)
    45: (8, 1),   # Rh: d7s2 → d8s1  (post-half)
    46: (10, 0),  # Pd: d8s2 → d10s0 (double closure)
    47: (10, 1),  # Ag: d9s2 → d10s1 (closure)
    78: (9, 1),   # Pt: d8s2 → d9s1  (quasi-closure)
    79: (10, 1),  # Au: d9s2 → d10s1 (closure)
    111: (10, 1), # Rg: d9s2 → d10s1 (closure, relativistic)
}


def n_fill(Z: int) -> int:
    """Number of electrons in the valence sub-shell (Madelung).

    Returns the INFORMATIONAL filling — includes d5/d10 promotions
    predicted by the pentagon Z/(2×5)Z structure.  Used for polygon
    construction (structure fine = harmonique).

    For screening (radial, geometric), use _n_fill_aufbau().
    """
    if Z in _MADELUNG_PROMOTIONS and l_of(Z) == 2:
        return _MADELUNG_PROMOTIONS[Z][0]
    return _n_fill_aufbau(Z)


def ns_config(Z: int) -> int:
    """Number of s-electrons, detecting s→d promotions.

    In PT: promotion occurs when Hund half-filling stability or d-shell
    closure exceeds the s→d promotion cost (gap decreases with period).

    Uses _n_fill_aufbau for the detection logic (avoids recursion with
    the Madelung n_fill).
    """
    if Z in _MADELUNG_PROMOTIONS and l_of(Z) == 2:
        return _MADELUNG_PROMOTIONS[Z][1]
    l = l_of(Z)
    if l == 0:
        return min(_n_fill_aufbau(Z), 2)
    if l != 2:
        return 2
    return 2


def block_of(Z: int) -> str:
    """Return the block letter ('s', 'p', 'd', or 'f') for element Z."""
    return _BLOCK_MAP[l_of(Z)]


def capacity(Z: int) -> int:
    """Return the capacity (2(2l+1)) of the valence sub-shell for element Z."""
    return _CAP_MAP[l_of(Z)]


def _np_of(Z: int) -> int:
    """Number of p-electrons for element Z.

    Returns the valence p-electron count:
      s-block (l=0): 0 — no p-electrons
      p-block (l=1): n_fill(Z) — the p sub-shell filling
      d-block (l=2): 0 — d-block bonds through s+d, not p
      f-block (l=3): 0 — same logic
    """
    l = l_of(Z)
    if l == 1:
        return min(n_fill(Z), _CAP_MAP[1])
    return 0


def _nd_of(Z: int) -> int:
    """Number of d-electrons for element Z.

    Returns the d sub-shell filling only for d-block (l=2).
    s-block, p-block, and f-block return 0.
    """
    if l_of(Z) != 2:
        return 0
    return min(n_fill(Z), 2 * P2)


def _valence_electrons(Z: int) -> int:
    """Total valence electrons."""
    return n_fill(Z) + ns_config(Z)


def _lp_pairs(Z: int, bo: float) -> int:
    """Lone pairs available for bonding."""
    l = l_of(Z)
    if l == 0:
        return 0
    np_val = _np_of(Z)
    P1 = 3
    if np_val <= P1:
        return 0
    return max(0, np_val - P1 - int(bo - 1))

Statut épistémique

THM

Exclusion, capacités de sous-couche, quatre blocs et absence de couche g.

DER

Longueurs de périodes et ordre Aufbau depuis la fonction maîtresse.

VAL

Implémentation PTC et tests unitaires sur les fonctions périodiques.

PRED

Structure au-delà de Z=118 sans bloc g, à confronter aux données futures.

Niveau Ce qui est revendiqué Ce qui reste à contrôler
dérivé Blocs s/p/d/f, capacités 2/6/10/14, longueurs 2/8/8/18/18/32/32. Relire la preuve C1/C-tableau et le statut no-g dans la monographie.
code Implémentation PTC dans periodic.py et tests unitaires associés. Maintenir la copie publique synchronisée avec le moteur PTC.
chimie Promotions d5/d10 comme stabilités informationnelles du canal d. Quantifier les coûts de promotion et les effets relativistes élément par élément.
frontière Pas de bloc g actif : 9 composite et p=11 en écho. Comparer aux modèles superlourds et aux données futures au-delà de 118.

Sources locales : PT_MONOGRAPHY/chapters_fr/ch22_chemistry.tex, PT_PROJECTS/PTC/ptc/periodic.py, PT_PROJECTS/PTC/ptc/tests/test_periodic.py.