Encyclopedia Chemistry Chemistry Ferromagnetism Co High Anisotropy
ARTICLE 4 claims 3 theorems 1 model
Chemistry Ferromagnetism Co High Anisotropy
Cobalt resists demagnetization better than iron because its domain walls are narrower and cost more energy to move, a fact the framework's machine-checked library records as a proved theorem.
Cobalt's magnetic hardness
Ferromagnetism is the mechanism by which materials like iron, cobalt, and nickel form permanent magnets: their atomic magnetic moments spontaneously align. A ferromagnet does not stay uniformly magnetized. It splits into magnetic domains, regions of uniform magnetization separated by thin boundaries called domain walls. The width of a domain wall and the energy per unit area it carries determine how hard it is to demagnetize the material. A material with narrow, high-energy walls resists having its magnetization reversed; engineers call that magnetic hardness or high anisotropy.
In the framework's machine-checked library of formal theorems, the declaration co_high_anisotropy proves exactly this comparison for cobalt versus iron. It states that cobalt's domain wall width is smaller than iron's, and cobalt's domain wall energy is larger than iron's. The library assigns cobalt a wall width of 15 nanometers and iron 40 nanometers, with wall energies of 3.0 and 1.5 in the framework's units. The theorem is proved by direct computation from these assigned values, not by measurement or experiment.
The declaration sits inside a larger derivation of ferromagnetism in the framework. The library also proves that iron, cobalt, and nickel are ferromagnetic, that cobalt has the highest Curie temperature (the temperature above which thermal motion destroys the alignment) among the three, and that magnetization stays positive below that temperature and drops to zero above it. The cobalt anisotropy result is one link in that chain, giving a formal reason why cobalt is the hardest of the three common ferromagnets to demagnetize.
What the declaration does not claim is just as important. It does not derive the numbers 15 and 40 from first principles; those are definitional choices in the library, not proved outcomes. It does not claim that cobalt's anisotropy is the highest among all materials, only that it beats iron. And it says nothing about the microscopic origin of the anisotropy, such as crystal structure or spin-orbit coupling. The theorem is a formal record of a comparison, not an explanation of why cobalt behaves this way.
THEOREM co_high_anisotropy · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Co has highest anisotropy (narrowest walls, highest wall energy). -/
theorem co_high_anisotropy :
domainWallWidth 27 < domainWallWidth 26 ∧
domainWallEnergy 27 > domainWallEnergy 26 := by
simp only [domainWallWidth, domainWallEnergy]
norm_num
MODEL domainWallWidth · domainWallEnergy · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Bloch domain wall width (nm). Scales with √(A/K). -/
def domainWallWidth : ℕ → ℝ
| 26 => 40 -- Fe: ~40 nm
| 27 => 15 -- Co: ~15 nm
| 28 => 100 -- Ni: ~100 nm
| _ => 0
/-- Domain wall energy density (mJ/m²). -/
def domainWallEnergy : ℕ → ℝ
| 26 => 1.5 -- Fe
| 27 => 3.0 -- Co
| 28 => 0.5 -- Ni
| _ => 0
THEOREM co_high_anisotropy · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Co has highest anisotropy (narrowest walls, highest wall energy). -/
theorem co_high_anisotropy :
domainWallWidth 27 < domainWallWidth 26 ∧
domainWallEnergy 27 > domainWallEnergy 26 := by
simp only [domainWallWidth, domainWallEnergy]
norm_num
THEOREM iron_ferromagnetic · cobalt_ferromagnetic · nickel_ferromagnetic · co_highest_curie · nonzero_below_curie · zero_above_curie · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Iron is ferromagnetic. -/
theorem iron_ferromagnetic : isFerromagnetic 26 = true := by native_decide
/-- Cobalt is ferromagnetic. -/
theorem cobalt_ferromagnetic : isFerromagnetic 27 = true := by native_decide
/-- Nickel is ferromagnetic. -/
theorem nickel_ferromagnetic : isFerromagnetic 28 = true := by native_decide
/-- Co has highest Curie temperature among elemental ferromagnets. -/
theorem co_highest_curie :
curieTemperature 27 > curieTemperature 26 ∧
curieTemperature 27 > curieTemperature 28 := by
simp only [curieTemperature]
norm_num
/-- Magnetization is non-zero below Curie temperature.
Requires T ≥ 0 (physical temperature). -/
theorem nonzero_below_curie (T T_C : ℝ) (hT_nonneg : T ≥ 0) (hT : T < T_C) (hT_C : T_C > 0) :
magnetizationRatio T T_C > 0 := by
simp only [magnetizationRatio]
have h1 : ¬(T ≥ T_C) := by linarith
have h2 : T_C ≠ 0 := by linarith
simp only [h1, h2, or_self, ite_false]
-- √(1 - (T/T_C)²) > 0 when 0 ≤ T < T_C
apply Real.sqrt_pos_of_pos
-- Need: 1 - (T/T_C)² > 0, i.e., (T/T_C)² < 1
have h_ratio_nonneg : T / T_C ≥ 0 := div_nonneg hT_nonneg (le_of_lt hT_C)
have h_ratio_lt_one : T / T_C < 1 := by rw [div_lt_one hT_C]; exact hT
have h_abs_lt : |T / T_C| < 1 := by rw [abs_of_nonneg h_ratio_nonneg]; exact h_ratio_lt_one
have h_sq_lt_one : (T / T_C) ^ 2 < 1 := (sq_lt_one_iff_abs_lt_one _).mpr h_abs_lt
linarith
/-- Magnetization is zero above Curie temperature. -/
theorem zero_above_curie (T T_C : ℝ) (hT : T ≥ T_C) :
magnetizationRatio T T_C = 0 := by
simp only [magnetizationRatio]
simp only [hT, true_or, ite_true]
What this page does not claim
The declaration does not derive the domain wall values from first principles; they are assigned definitions. The declaration does not claim cobalt has the highest anisotropy among all known materials, only higher than iron. The declaration does not explain the microscopic origin of cobalt's anisotropy, such as crystal structure or spin-orbit coupling.
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/Ferromagnetism.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:
- How does the framework derive the exchange interaction strength from the ledger's fermion statistics?
- What physical mechanism sets the domain wall width and energy values assigned to each element?
- Does the framework's phi-ladder scaling predict the Curie temperature ratios it records?
- How does the framework's Stoner criterion relate to the density of states it assigns to iron?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM co_high_anisotropy · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Co has highest anisotropy (narrowest walls, highest wall energy). -/ theorem co_high_anisotropy : domainWallWidth 27 < domainWallWidth 26 ∧ domainWallEnergy 27 > domainWallEnergy 26 := by simp only [domainWallWidth, domainWallEnergy] norm_numIt states that cobalt's domain wall width is smaller than iron's, and cobalt's domain wall energy is larger than iron's. co_high_anisotropy · IndisputableMonolith/Chemistry/Ferromagnetism.leanMODEL domainWallWidth · domainWallEnergy · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Bloch domain wall width (nm). Scales with √(A/K). -/ def domainWallWidth : ℕ → ℝ | 26 => 40 -- Fe: ~40 nm | 27 => 15 -- Co: ~15 nm | 28 => 100 -- Ni: ~100 nm | _ => 0/-- Domain wall energy density (mJ/m²). -/ def domainWallEnergy : ℕ → ℝ | 26 => 1.5 -- Fe | 27 => 3.0 -- Co | 28 => 0.5 -- Ni | _ => 0The library assigns cobalt a wall width of 15 nanometers and iron 40 nanometers, with wall energies of 3.0 and 1.5 in the framework's units. domainWallWidth · domainWallEnergy · IndisputableMonolith/Chemistry/Ferromagnetism.leanTHEOREM co_high_anisotropy · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Co has highest anisotropy (narrowest walls, highest wall energy). -/ theorem co_high_anisotropy : domainWallWidth 27 < domainWallWidth 26 ∧ domainWallEnergy 27 > domainWallEnergy 26 := by simp only [domainWallWidth, domainWallEnergy] norm_numThe theorem is proved by direct computation from these assigned values, not by measurement or experiment. co_high_anisotropy · IndisputableMonolith/Chemistry/Ferromagnetism.leanTHEOREM iron_ferromagnetic · cobalt_ferromagnetic · nickel_ferromagnetic · co_highest_curie · nonzero_below_curie · zero_above_curie · IndisputableMonolith/Chemistry/Ferromagnetism.lean
/-- Iron is ferromagnetic. -/ theorem iron_ferromagnetic : isFerromagnetic 26 = true := by native_decide/-- Cobalt is ferromagnetic. -/ theorem cobalt_ferromagnetic : isFerromagnetic 27 = true := by native_decide/-- Nickel is ferromagnetic. -/ theorem nickel_ferromagnetic : isFerromagnetic 28 = true := by native_decide/-- Co has highest Curie temperature among elemental ferromagnets. -/ theorem co_highest_curie : curieTemperature 27 > curieTemperature 26 ∧ curieTemperature 27 > curieTemperature 28 := by simp only [curieTemperature] norm_num/-- Magnetization is non-zero below Curie temperature. Requires T ≥ 0 (physical temperature). -/ theorem nonzero_below_curie (T T_C : ℝ) (hT_nonneg : T ≥ 0) (hT : T < T_C) (hT_C : T_C > 0) : magnetizationRatio T T_C > 0 := by simp only [magnetizationRatio] have h1 : ¬(T ≥ T_C) := by linarith have h2 : T_C ≠ 0 := by linarith simp only [h1, h2, or_self, ite_false] -- √(1 - (T/T_C)²) > 0 when 0 ≤ T < T_C apply Real.sqrt_pos_of_pos -- Need: 1 - (T/T_C)² > 0, i.e., (T/T_C)² < 1 have h_ratio_nonneg : T / T_C ≥ 0 := div_nonneg hT_nonneg (le_of_lt hT_C) have h_ratio_lt_one : T / T_C < 1 := by rw [div_lt_one hT_C]; exact hT have h_abs_lt : |T / T_C| < 1 := by rw [abs_of_nonneg h_ratio_nonneg]; exact h_ratio_lt_one have h_sq_lt_one : (T / T_C) ^ 2 < 1 := (sq_lt_one_iff_abs_lt_one _).mpr h_abs_lt linarith/-- Magnetization is zero above Curie temperature. -/ theorem zero_above_curie (T T_C : ℝ) (hT : T ≥ T_C) : magnetizationRatio T T_C = 0 := by simp only [magnetizationRatio] simp only [hT, true_or, ite_true]The library also proves that iron, cobalt, and nickel are ferromagnetic, that cobalt has the highest Curie temperature among the three, and that magnetization stays positive below that temperature and drops to zero above it. iron_ferromagnetic · cobalt_ferromagnetic · nickel_ferromagnetic · co_highest_curie · nonzero_below_curie · zero_above_curie · IndisputableMonolith/Chemistry/Ferromagnetism.lean