Encyclopedia Chemistry Chemistry Van Der Waals London Decreases With Distance

ARTICLE 2 claims 1 theorem 1 model

Chemistry Van Der Waals London Decreases With Distance

The London dispersion force, the weakest intermolecular attraction, weakens sharply with distance, and a machine-checked proof now confirms the rate.

The distance law

Van der Waals forces are the weak, short-range attractions that hold neutral molecules together. They appear in the way noble gases condense into liquids and in the way geckos climb glass. The London dispersion force, named after Fritz London who described it in 1930, is the component that arises from momentary fluctuations in electron clouds. An atom's electrons shift briefly, creating a temporary dipole, which induces a matching dipole in a neighboring atom, and the two attract. The interaction energy falls off as the sixth power of the distance between the atoms, so the force itself falls off as the seventh power. This steep decay is why van der Waals forces matter only at molecular scales.

The classical picture gives the form of the law, but not a proof that it must hold. The Recognition Science framework, a system that derives physical structure from a forced cost of recognition, models the same phenomenon in its own terms. Its machine-checked library of formal theorems contains a definition for a ledger, a discrete record of events, which in an eight-tick cycle creates temporary asymmetries in electron distribution. These asymmetries stand in for the instantaneous dipoles of the classical account. The library defines a proxy for the dispersion force between two atoms that scales with the product of their polarizabilities and inversely with the sixth power of their separation r, written as (P1 * P2) / r^6.

On top of that definition, the library proves a theorem with the name london_decreases_with_distance. The theorem states that for any two atoms and any two positive distances r1 and r2, if r1 is smaller than r2, then the dispersion proxy at r1 is strictly greater than the dispersion proxy at r2. In plain language, the force is strictly decreasing as the distance grows, and the proof is machine-checked, meaning no step relies on unstated assumptions. The theorem also covers the edge case where the distance is zero or negative by setting the proxy to zero, which keeps the statement total and avoids division by zero.

What the theorem does not claim is just as important. It proves the monotonic decrease of a specific proxy function, not the physical law itself. The proxy uses a polarizability measure that grows with the period of the element, a simplification that captures the trend that larger atoms are more polarizable. The theorem does not derive the 1/r^6 law from first principles; it assumes that form in the definition and then proves the consequence that the proxy decreases with distance. The framework's link from its ledger mechanism to the actual quantum electrodynamics of London dispersion remains an open target, not a proved result.

Within the framework, the theorem acts as a consistency check: the formal model reproduces the known monotonic behavior of the real force. A reader who wants the classical physics can take the 1/r^6 law as an empirical fact with a quantum-mechanical derivation. A reader who wants the framework's account can see that its simplified model at least gets the direction of the effect right. The distance law itself is not new, but having it machine-checked inside a larger derivation system is a step toward showing that the framework's vocabulary can express and verify standard chemistry.

THEOREM london_decreases_with_distance · IndisputableMonolith/Chemistry/VanDerWaals.lean
london_decreases_with_distance · IndisputableMonolith/Chemistry/VanDerWaals.lean:156
/-- London dispersion force decreases with distance (r⁻⁶). -/
theorem london_decreases_with_distance (Z1 Z2 : ℕ) (r1 r2 : ℝ)
    (hr1 : r1 > 0) (hr2 : r2 > 0) (h_r_ord : r1 < r2) :
    londonDispersionProxy Z1 Z2 r1 > londonDispersionProxy Z1 Z2 r2 := by
  simp only [londonDispersionProxy]
  have hr1_pos' : ¬(r1 ≤ 0) := not_le.mpr hr1
  have hr2_pos' : ¬(r2 ≤ 0) := not_le.mpr hr2
  simp only [hr1_pos', hr2_pos', ite_false]
  -- Need: α/r1⁶ > α/r2⁶ when r1 < r2 and α ≥ 0
  -- For r1 < r2, we have r1⁶ < r2⁶, so 1/r1⁶ > 1/r2⁶
  -- Since polarizabilityProxy returns non-negative values, α ≥ 0
  have h_pow : r1^6 < r2^6 := by
    -- For 0 < r1 < r2, we have r1^6 < r2^6
    -- Use pow_lt_pow_left₀: if 0 ≤ a < b and 0 < n, then a^n < b^n
    apply pow_lt_pow_left₀ h_r_ord (le_of_lt hr1) (by norm_num)
  -- Now: 1/r1^6 > 1/r2^6 (since r1^6 < r2^6 and both are positive)
  have h_div : 1 / r1^6 > 1 / r2^6 := by
    -- one_div_lt_one_div: if 0 < a < b, then 1/b < 1/a
    -- We have r1^6 < r2^6, so 1/r2^6 < 1/r1^6
    apply (one_div_lt_one_div (pow_pos hr2 6) (pow_pos hr1 6)).mpr h_pow
  -- Finally: α/r1^6 > α/r2^6 when α > 0
  -- Note: polarizabilityProxy returns periodOf, which is always ≥ 1 for valid atoms
  -- So the product is always positive
  have h_alpha_pos : 0 < polarizabilityProxy Z1 * polarizabilityProxy Z2 := by
    unfold polarizabilityProxy
    simp only [periodOf]
    norm_cast
    -- periodOf returns a natural number, and for any valid atomic number Z, periodOf Z ≥ 1
    -- So periodOf Z1 ≥ 1 and periodOf Z2 ≥ 1, hence their product ≥ 1 > 0
    -- From the definition: periodOf returns 1, 2, 3, 4, 5, 6, or 7, all ≥ 1
    have h1 : (1 : ℕ) ≤ periodOf Z1 := by
      -- periodOf is defined with cases that all return values ≥ 1
      -- The smallest case is `if Z ≤ 2 then 1`, so periodOf always returns ≥ 1
      unfold periodOf
      -- All branches return values ≥ 1: 1, 2, 3, 4, 5, 6, or 7
      split_ifs <;> norm_num
    have h2 : (1 : ℕ) ≤ periodOf Z2 := by
      unfold periodOf
      split_ifs <;> norm_num
    have h_prod : (1 : ℕ) ≤ periodOf Z1 * periodOf Z2 := by
      apply Nat.mul_le_mul h1 h2
    exact_mod_cast h_prod
  -- Since α > 0 and 1/r1^6 > 1/r2^6, we have α/r1^6 > α/r2^6
  calc (polarizabilityProxy Z1 * polarizabilityProxy Z2) / r1 ^ 6
    _ = (polarizabilityProxy Z1 * polarizabilityProxy Z2) * (1 / r1 ^ 6) := by ring
    _ > (polarizabilityProxy Z1 * polarizabilityProxy Z2) * (1 / r2 ^ 6) := by
      apply mul_lt_mul_of_pos_left h_div h_alpha_pos
    _ = (polarizabilityProxy Z1 * polarizabilityProxy Z2) / r2 ^ 6 := by ring
MODEL londonDispersionProxy · IndisputableMonolith/Chemistry/VanDerWaals.lean
/-- London dispersion force proxy between two atoms.
    Scales with product of polarizabilities and inversely with r⁶. -/
def londonDispersionProxy (Z1 Z2 : ℕ) (r : ℝ) : ℝ :=
  if r ≤ 0 then 0
  else (polarizabilityProxy Z1 * polarizabilityProxy Z2) / r ^ 6

What this page does not claim

The theorem does not prove the physical 1/r^6 law itself; it assumes that form in the proxy definition. The framework's derivation of London dispersion from its ledger mechanism is not yet formalized. The polarizability proxy is a simplification based on period, not a complete model of atomic polarizability.

Verify this page

Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:

$ lake env lean IndisputableMonolith/Chemistry/VanDerWaals.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)

A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.

Derived articles

This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:

MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND