IndisputableMonolith.Chemistry.IonicBond
The IonicBond module supplies type-level predicates and thresholds for classifying alkali-halogen pairs as ionic using RS-derived ionization energies and electronegativities. Chemists working with parameter-free periodic trends would cite the alkali_halogen_ionic and isIonicBond definitions. It is a definition module whose structure follows directly from the imported PeriodicTable and IonizationEnergy scaffolds.
claimDefine alkaliMetalZ and halogenZ as the atomic numbers of the six alkali metals and six halogens; isAlkaliMetal(Z) and isHalogen(Z) are the corresponding predicates. Then electronegativityDifference(Z_1,Z_2) and ionicThreshold yield isIonicBond(Z_1,Z_2) precisely when the pair is alkali-halogen and the difference exceeds threshold, with latticeEnergyProxy and Madelung constants supplied for NaCl, CsCl and ZnS structures.
background
The module imports the PeriodicTable engine, which supplies an eight-window neutrality predicate and φ-tier rails with fixed s/p/d/f block offsets for detecting noble-gas closures. IonizationEnergy supplies the sawtooth I_1(Z) pattern forced by φ-rail scaling φ^{2n} for period n together with position factors that increase toward closure. ElectronAffinity states that halogens (one electron short of closure) have high EA while alkali metals (one past closure) have low EA; Electronegativity combines these via the Mulliken relation EN ~ √(IE × EA) modulated by distance to next closure.
proof idea
this is a definition module, no proofs
why it matters in Recognition Science
The module supplies the isIonicBond and alkali_halogen_ionic predicates that close the chemistry layer of the Recognition framework. It directly implements the low-ionization-energy property of alkali metals stated in the module doc-comment and feeds the eight-tick octave structure (T7) already present in PeriodicTable. No downstream theorems are recorded yet.
scope and limits
- Does not compute numerical lattice energies or bond lengths.
- Does not address covalent or metallic bonding.
- Does not incorporate relativistic corrections for heavy elements.
- Does not validate against experimental datasets.
depends on (5)
declarations in this module (19)
-
def
alkaliMetalZ -
def
halogenZ -
def
isAlkaliMetal -
def
isHalogen -
def
electronegativityDifference -
def
ionicThreshold -
def
isIonicBond -
theorem
alkali_halogen_ionic -
def
latticeEnergyProxy -
def
madelungNaCl -
def
madelungCsCl -
def
madelungZnS -
theorem
madelung_nacl_pos -
theorem
lattice_energy_increases_with_charge -
theorem
alkali_valence_one -
theorem
halogen_dist_one -
theorem
alkali_halogen_stable_1_1 -
def
bornExponentProxy -
theorem
born_exponent_in_range