01 — The Proslambenomenos Derivation#

From \(\Lambda\) to \(a_0\) in three multiplications.

This notebook verifies the numerical chain:

\[\Lambda \;\xrightarrow{c\sqrt{\cdot/3}}\; \nu_\Lambda \approx H_0 \;\xrightarrow{c/2\pi}\; a_0\]

using only measured values and no free parameters. Stdlib Python only.

import math

# Measured constants
c = 2.998e8          # m/s, speed of light
H0_km = 70.0         # km/s/Mpc, Hubble parameter (Planck 2018 + SH0ES midpoint)
Mpc = 3.086e22       # m per Mpc
H0 = H0_km * 1e3 / Mpc  # convert to s^-1

# Cosmological constant from Planck 2018
# Omega_Lambda ≈ 0.685, H0 ≈ 67.4 km/s/Mpc => Lambda = 3 * Omega_Lambda * H0^2 / c^2
# but we use the direct measurement:
Lambda = 1.1056e-52  # m^-2

# MOND acceleration (McGaugh 2016)
a0_obs = 1.2e-10     # m/s^2

print(f"H0 = {H0:.3e} s^-1")
print(f"Lambda = {Lambda:.3e} m^-2")
print(f"a0 (observed) = {a0_obs:.3e} m/s^2")
H0 = 2.268e-18 s^-1
Lambda = 1.106e-52 m^-2
a0 (observed) = 1.200e-10 m/s^2

Step 1: \(\Lambda \to \nu_\Lambda\)#

The proslambenomenos frequency:

\[\nu_\Lambda = c\sqrt{\Lambda/3}\]
nu_Lambda = c * math.sqrt(Lambda / 3)

print(f"nu_Lambda = {nu_Lambda:.3e} s^-1")
print(f"H0        = {H0:.3e} s^-1")
print(f"Ratio nu_Lambda / H0 = {nu_Lambda / H0:.3f}")
print()
print(f"These agree to within a factor of {nu_Lambda/H0:.1f} — order unity.")
print(f"The proslambenomenos IS the Hubble rate, measured in different units.")
nu_Lambda = 1.820e-18 s^-1
H0        = 2.268e-18 s^-1
Ratio nu_Lambda / H0 = 0.802

These agree to within a factor of 0.8 — order unity.
The proslambenomenos IS the Hubble rate, measured in different units.

Step 2: \(\nu_\Lambda \to a_0\)#

The synchronization threshold acceleration:

\[a_0 = \frac{c \, \nu_\Lambda}{2\pi}\]

The \(2\pi\) comes from the Kuramoto critical coupling formula — it separates angular frequency from cycle frequency.

a0_pred = c * nu_Lambda / (2 * math.pi)

print(f"a0 (predicted)  = {a0_pred:.3e} m/s^2")
print(f"a0 (observed)   = {a0_obs:.3e} m/s^2")
print(f"Ratio pred/obs  = {a0_pred / a0_obs:.3f}")
print()
print(f"Discrepancy: factor of {a0_pred/a0_obs:.2f}")
a0 (predicted)  = 8.684e-11 m/s^2
a0 (observed)   = 1.200e-10 m/s^2
Ratio pred/obs  = 0.724

Discrepancy: factor of 0.72

Step 3: The alternative route — \(cH_0 / 2\pi\) directly#

a0_alt = c * H0 / (2 * math.pi)

print(f"cH0 / 2pi       = {a0_alt:.3e} m/s^2")
print(f"a0 (observed)   = {a0_obs:.3e} m/s^2")
print(f"Ratio           = {a0_alt / a0_obs:.3f}")
print()
print("The two routes (Lambda -> nu -> a0) and (H0 -> a0) agree because nu_Lambda ≈ H0.")
print("This is the claim: they are the same frequency measured differently.")
cH0 / 2pi       = 1.082e-10 m/s^2
a0 (observed)   = 1.200e-10 m/s^2
Ratio           = 0.902

The two routes (Lambda -> nu -> a0) and (H0 -> a0) agree because nu_Lambda ≈ H0.
This is the claim: they are the same frequency measured differently.

Step 4: The full chain — one frequency, three units#

print("The Proslambenomenos Chain")
print("=" * 50)
print()
print(f"  Lambda  = {Lambda:.4e} m^-2     (curvature)")
print(f"     |")
print(f"     | c * sqrt(./3)")
print(f"     v")
print(f"  nu_Lam  = {nu_Lambda:.4e} s^-1    (frequency)")
print(f"  H0      = {H0:.4e} s^-1    (expansion rate)")
print(f"     |")
print(f"     | c / 2pi")
print(f"     v")
print(f"  a0_pred = {a0_pred:.4e} m/s^2  (acceleration)")
print(f"  a0_obs  = {a0_obs:.4e} m/s^2  (observed)")
print()
print("Three constants. One frequency. Zero free parameters.")
The Proslambenomenos Chain
==================================================

  Lambda  = 1.1056e-52 m^-2     (curvature)
     |
     | c * sqrt(./3)
     v
  nu_Lam  = 1.8200e-18 s^-1    (frequency)
  H0      = 2.2683e-18 s^-1    (expansion rate)
     |
     | c / 2pi
     v
  a0_pred = 8.6840e-11 m/s^2  (acceleration)
  a0_obs  = 1.2000e-10 m/s^2  (observed)

Three constants. One frequency. Zero free parameters.

Step 5: Sensitivity — how much does \(H_0\) tension matter?#

print(f"{'H0 (km/s/Mpc)':>15} {'a0_pred (m/s^2)':>18} {'ratio to observed':>18}")
print("-" * 55)

for h0_val in [67.4, 69.0, 70.0, 72.0, 73.0, 74.0]:
    h0_si = h0_val * 1e3 / Mpc
    a0_h = c * h0_si / (2 * math.pi)
    print(f"{h0_val:>15.1f} {a0_h:>18.3e} {a0_h/a0_obs:>18.3f}")

print()
print("The prediction is robust to the Hubble tension.")
print("All values within a factor of ~0.9 of observed a0.")
  H0 (km/s/Mpc)    a0_pred (m/s^2)  ratio to observed
-------------------------------------------------------
           67.4          1.042e-10              0.868
           69.0          1.067e-10              0.889
           70.0          1.082e-10              0.902
           72.0          1.113e-10              0.928
           73.0          1.129e-10              0.941
           74.0          1.144e-10              0.953

The prediction is robust to the Hubble tension.
All values within a factor of ~0.9 of observed a0.

Summary#

The proslambenomenos \(\nu_\Lambda = c\sqrt{\Lambda/3}\) is the vacuum’s fundamental oscillation frequency. The Hubble rate \(H_0\) is this frequency. The MOND scale \(a_0 \approx cH_0/2\pi\) is the acceleration at which Kuramoto synchronization becomes subcritical.

Three measurements. One frequency. The chain \(\Lambda \to H_0 \to a_0\) requires only \(c\) and \(2\pi\).

See: proslambenomenos.md for the full derivation.