pith. sign in
module module moderate

IndisputableMonolith.Chemistry.IonicBond

show as:
view Lean formalization →

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

depends on (5)

Lean names referenced from this declaration's body.

declarations in this module (19)