Encyclopedia Chemistry Chemistry Ionic Bond Alkali Halogen Stable 1 1

ARTICLE 3 claims 3 theorems

Chemistry Ionic Bond Alkali Halogen Stable 1 1

Why do alkali metals and halogens always pair up one to one? A machine-checked theorem pins the reason to their electron counts.

The one-to-one rule

An alkali metal such as sodium or potassium has exactly one electron in its outermost shell, and a halogen such as chlorine or fluorine needs exactly one electron to fill its outermost shell. That single fact explains the stable one-to-one ratio in familiar compounds like sodium chloride, table salt. The classical picture is simple: the metal gives away its one outer electron, the halogen accepts it, and the two oppositely charged ions stick together by electrostatic attraction.

This pairing rule is not new. Chemists have taught it for over a century, and it follows directly from the positions of the elements in the periodic table. The alkali metals sit in group 1, the halogens in group 17, and the arithmetic of their valence shells lines up perfectly. For any alkali metal and any halogen, the metal contributes one electron and the halogen absorbs one, which is why the stable compound forms in a one-to-one ratio rather than any other proportion.

In Recognition Science, this familiar fact is stated as a formal theorem in a machine-checked library of formal theorems. The theorem, named alkali_halogen_stable_1_1, takes any alkali metal and any halogen and proves that the alkali metal has one valence electron and the halogen is one step away from a closed shell. The proof is direct: it checks the known electron configurations for the six alkali metals and five halogens and confirms the count in each case. The result is not a new discovery about chemistry but a formal restatement of a standard fact, verified by a computer.

The framework's library also defines the conditions for an ionic bond: the difference in electronegativity between two elements must exceed a small threshold. It proves that any alkali metal paired with any halogen meets that condition, so the one-to-one electron transfer is classified as an ionic bond. The library further shows that lattice energy, the electrostatic glue that holds the crystal together, increases with ion charge, which is why doubly charged ions form stronger crystals than singly charged ones.

What the theorem does not do is predict the energy of a real bond or the exact structure of a real crystal. The library uses simplified proxies for lattice energy and electronegativity, and the Madelung constants it lists are standard geometric factors for common crystal shapes. The theorem certifies the electron count, nothing more. It says nothing about whether a particular alkali halide is soluble, how fast it reacts, or what its melting point is. Those questions belong to the full quantum theory of chemistry, not to this formal check.

THEOREM alkali_halogen_stable_1_1 · IndisputableMonolith/Chemistry/IonicBond.lean
alkali_halogen_stable_1_1 · IndisputableMonolith/Chemistry/IonicBond.lean:175
/-- Ion pair stability: alkali + halogen forms stable 1:1 compound.
    Alkali metals have 1 valence electron, halogens are 1 electron from closure. -/
theorem alkali_halogen_stable_1_1 (Z_alkali Z_halogen : ℕ)
    (h_alkali : isAlkaliMetal Z_alkali) (h_halogen : isHalogen Z_halogen) :
    valenceElectrons Z_alkali = 1 ∧ distToNextClosure Z_halogen = 1 := by
  exact ⟨alkali_valence_one Z_alkali h_alkali, halogen_dist_one Z_halogen h_halogen⟩
THEOREM alkali_halogen_ionic · IndisputableMonolith/Chemistry/IonicBond.lean
/-- Alkali-halogen pairs form ionic bonds.
    This is a physical fact: alkali metals have low EN, halogens have high EN,
    and their electronegativity difference exceeds the ionic threshold.

    **Numerical verification** (30 cases):
    - All alkali enProxy values are ≤ 0.042 (Li has highest)
    - All halogen enProxy values are ≥ 0.071 (At has lowest)
    - Minimum |difference| = |0.042 - 0.071| ≈ 0.030 > 0.02 ✓

    **Proof status**: Requires Real arithmetic case analysis.
    The 30 cases involve noncomputable division, so native_decide fails.
    norm_num with simp can handle the expanded forms. -/
theorem alkali_halogen_ionic (Z_alkali Z_halogen : ℕ)
    (h_alkali : isAlkaliMetal Z_alkali) (h_halogen : isHalogen Z_halogen) :
    isIonicBond Z_alkali Z_halogen := by
  simp only [isIonicBond, electronegativityDifference, ionicThreshold]
  simp only [isAlkaliMetal, alkaliMetalZ, isHalogen, halogenZ] at h_alkali h_halogen
  have haz : Z_alkali ≠ 0 := by
    simp only [List.mem_cons, List.mem_nil_iff, or_false] at h_alkali
    rcases h_alkali with rfl | rfl | rfl | rfl | rfl | rfl <;> norm_num
  have hhz : Z_halogen ≠ 0 := by
    simp only [List.mem_cons, List.mem_nil_iff, or_false] at h_halogen
    rcases h_halogen with rfl | rfl | rfl | rfl | rfl <;> norm_num
  simp only [haz, hhz, false_or, ↓reduceIte]
  -- The proof requires numerical case analysis on 30 alkali-halogen pairs
  -- Each case reduces to showing |1/(d₁+1)/s₁ - 1/(d₂+1)/s₂| > 0.02
  -- where d = distToNextClosure and s = shellNumber
  --
  -- Key insight: All halogen enProxy ≥ 1/14 (At), all alkali enProxy ≤ 1/24 (Li)
  -- Minimum difference: 1/14 - 1/24 = 5/168 > 1/50 = 0.02
  simp only [List.mem_cons, List.mem_nil_iff, or_false] at h_alkali h_halogen
  -- Expand enProxy for each specific case
  rcases h_alkali with rfl | rfl | rfl | rfl | rfl | rfl <;>
  rcases h_halogen with rfl | rfl | rfl | rfl | rfl <;>
  simp only [enProxy, distToNextClosure, nextClosure, AtomicRadii.shellNumber, periodOf,
             ↓reduceIte, OfNat.ofNat_ne_zero] <;>
  norm_num
THEOREM lattice_energy_increases_with_charge · IndisputableMonolith/Chemistry/IonicBond.lean
lattice_energy_increases_with_charge · IndisputableMonolith/Chemistry/IonicBond.lean:146
/-- Lattice energy proxy increases with ionic charge product.
    U(1,1) < U(2,1) since 1/d < 2/d for d > 0. -/
theorem lattice_energy_increases_with_charge (d : ℝ) (hd : d > 0) :
    latticeEnergyProxy 1 1 d < latticeEnergyProxy 2 1 d := by
  simp only [latticeEnergyProxy]
  have hd_pos : ¬(d ≤ 0) := not_le.mpr hd
  simp only [hd_pos, ite_false]
  -- 1/d < 2/d when d > 0
  have h1 : (1 : ℤ).toNat = 1 := rfl
  have h2 : (2 : ℤ).toNat = 2 := rfl
  simp only [h1, h2]
  -- 1 * 1 / d < 2 * 1 / d when d > 0
  have : (1 : ℝ) * 1 / d < 2 * 1 / d := by
    apply div_lt_div_of_pos_right _ hd
    norm_num
  simpa using this

What this page does not claim

The theorem does not predict any real bond energy, lattice enthalpy, or crystal structure. The theorem does not prove that every alkali halide is stable in water or at room temperature. The library's electronegativity and lattice energy are simplified proxies, not full quantum mechanical calculations.

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/IonicBond.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